class NumArray:
def __init__(self, nums: List[int]):
# 数组 是不变的, 一次处理即可
self.SumList = [0]
for num in nums:
self.SumList.append(self.SumList[-1] + num)
def sumRange(self, left: int, right: int) -> int:
return self.SumList[right + 1] - self.SumList[left]
# Your NumArray object will be instantiated and called as such:
# obj = NumArray(nums)
# param_1 = obj.sumRange(left,right)
class NumArray:
def __init__(self, nums: List[int]):
# 数组 是不变的, 一次处理即可
# self.SumList = [0]
# for num in nums:
# self.SumList.append(self.SumList[-1] + num)
self.SumList = list(accumulate(nums, initial=0))
def sumRange(self, left: int, right: int) -> int:
return self.SumList[right + 1] - self.SumList[left]
# Your NumArray object will be instantiated and called as such:
# obj = NumArray(nums)
# param_1 = obj.sumRange(left,right)
class NumArray {
public:
vector<int> s;
NumArray(vector<int>& nums) {
s.emplace_back(0);
for (int &num : nums){
s.emplace_back(s.back() + num);
}
}
int sumRange(int left, int right) {
return s[right + 1] - s[left];
}
};
/**
* Your NumArray object will be instantiated and called as such:
* NumArray* obj = new NumArray(nums);
* int param_1 = obj->sumRange(left,right);
*/