前缀和是什么意思?

摘要:题目 LeetCode 力扣 难度 303. Range Sum Query - Immutable 303. 区域和检索 - 数组不可变 🟢 304. Range Sum Query 2D - Immuta
题目 LeetCode 力扣 难度 303. Range Sum Query - Immutable 303. 区域和检索 - 数组不可变 🟢 304. Range Sum Query 2D - Immutable 304. 二维区域和检索 - 矩阵不可变 🟠 -同 剑指 Offer II 013. 二维子矩阵的和 🟠 ----------- 303. 区域和检索 - 数组不可变 我的答案 1、题目理解 前缀和只差 2、注意事项 前缀和 preSum[1] = 0+num[0],即preSum[i+1]包含num[i] 向量动态扩展大小的方法 resize 3、我的代码 using namespace std; class NumArray { vector<int> presum; public: NumArray(vector<int>& nums) { presum.resize(nums.size() + 1, 0); presum[0] = 0; for (int i = 0; i < nums.size(); ++i) { presum[i + 1] = presum[i] + nums[i]; } } int sumRange(int left, int right) { return presum[right+1] - presum[left]; } }; python 版本 class NumArray: def __init__(self, nums: List[int]): self.sums = [0] _sums = self.sums for num in nums: _sums.append(_sums[-1] + num) def sumRange(self, i: int, j: int) -> int: _sums = self.sums return _sums[j + 1] - _sums[i] 作者:力扣官方题解 链接:https://leetcode.cn/problems/range-sum-query-immutable/solutions/627052/qu-yu-he-jian-suo-shu-zu-bu-ke-bian-by-l-px41/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
阅读全文