题解 | 【模板】静态区间和(前缀和)-Java
【模板】静态区间和(前缀和)
https://www.nowcoder.com/practice/ac79a1a4a66646cc87525d6faa86e021
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取数组长度和查询次数
int n = scanner.nextInt();
int q = scanner.nextInt();
// 读取数组元素
long[] a = new long[n + 1]; // 使用1-based索引
for (int i = 1; i <= n; i++) {
a[i] = scanner.nextLong();
}
// 计算前缀和
long[] prefixSum = new long[n + 1];
for (int i = 1; i <= n; i++) {
prefixSum[i] = prefixSum[i - 1] + a[i];
}
// 处理每个查询
for (int i = 0; i < q; i++) {
int l = scanner.nextInt();
int r = scanner.nextInt();
// 区间和 = 前r项和 - 前(l-1)项和
System.out.println(prefixSum[r] - prefixSum[l - 1]);
}
scanner.close();
}
}
网易游戏公司福利 566人发布
查看21道真题和解析
