class NumArray {
public:
vector<int> sum;
NumArray(vector<int>& nums) {
int L = nums.size();
sum.reserve(L+1);
sum[0] = 0;
for(int i=1;i<=L;i++){
sum[i] = sum[i-1] + nums[i-1];
}
}
int sumRange(int i, int j) {
return sum[j+1] - sum[i];
}
};
/**
* Your NumArray object will be instantiated and called as such:
* NumArray* obj = new NumArray(nums);
* int param_1 = obj->sumRange(i,j);
*/
No.44-LeetCode303 前缀和
最新推荐文章于 2024-09-08 14:56:34 发布
本文介绍了一个使用C++实现的区间求和类NumArray,该类通过预处理技术加速了对数组指定区间内元素求和的操作。构造函数接收一个整数数组,初始化时计算并存储所有前缀和,以便后续快速查询任意区间的和。sumRange方法接受两个参数i和j,返回nums数组中从i到j(包括i和j)的所有整数之和。
595

被折叠的 条评论
为什么被折叠?



