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.
不是很懂这道题的意义....然后java写多了和cpp的语法有点混了。。忧伤。。。
我的代码:
class NumArray { private: vector<int> array; public: NumArray(vector<int> nums) { for (int i = 0; i < nums.size(); i++) { nums[i] += nums[i-1]; array.push_back(nums[i]); } } int sumRange(int i, int j) { if (i == 0) return array[j]; else return array[j] - array[i-1]; } }; /** * Your NumArray object will be instantiated and called as such: * NumArray obj = new NumArray(nums); * int param_1 = obj.sumRange(i,j); */