🌗 303. 区域和检索 - 数组不可变
2022年10月10日
- algorithm
🌗 303. 区域和检索 - 数组不可变
难度: 🌗
问题描述
解法
class NumArray {
// 思路:
// 前缀和 - arr[i] = [0, i - 1] 的 sum
int[] arr;
public NumArray(int[] nums) {
int len = nums.length;
arr = new int[len + 1];
for(int i = 0; i < len; i ++) {
arr[i + 1] = arr[i] + nums[i];
}
}
public int sumRange(int left, int right) {
// [0, right] - [0, left - 1] = arr[right + 1] - arr[left]
return arr[right + 1] - arr[left];
}
}
/**
* Your NumArray object will be instantiated and called as such:
* NumArray obj = new NumArray(nums);
* int param_1 = obj.sumRange(left,right);
*/