题目连接
https://leetcode.com/problems/range-sum-query-immutable/
Range Sum Query - Immutable
Description
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Example:
Given nums = [-2, 0, 3, -5, 2, -1] sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3
Note:
- You may assume that the array does not change.
- There are many calls to sumRange function.
前缀和。。
class NumArray { public: NumArray() = default; NumArray(vector<int> &nums) { size_t n = nums.size(); ans = new int[n + 10]; memset(ans, 0, sizeof(int)* (n + 10)); ans[0] = 0; for (size_t i = 1; i <= n; i++) { ans[i] = ans[i - 1] + nums[i - 1]; } } ~NumArray() { delete []ans; } int sumRange(int i, int j) { return ans[j + 1] - ans[i]; } private: int *ans; };