标签:col nts ++ led pre cto table note numa
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:
区间求和
C++(166ms):
1 class NumArray { 2 public: 3 NumArray(vector<int> nums) { 4 int sum = 0 ; 5 for(int n : nums){ 6 sum += n ; 7 res.push_back(sum) ; 8 } 9 } 10 11 int sumRange(int i, int j) { 12 if (i == 0) 13 return res[j] ; 14 else 15 return res[j] - res[i-1] ; 16 } 17 private: 18 vector<int> res; 19 }; 20 21 /** 22 * Your NumArray object will be instantiated and called as such: 23 * NumArray obj = new NumArray(nums); 24 * int param_1 = obj.sumRange(i,j); 25 */
Java(150ms):
1 class NumArray { 2 3 int[] res ; 4 public NumArray(int[] nums) { 5 for(int i = 1; i < nums.length ; i++){ 6 nums[i] += nums[i-1] ; 7 } 8 this.res = nums ; 9 } 10 11 public int sumRange(int i, int j) { 12 if (i == 0) 13 return res[j] ; 14 else 15 return res[j] - res[i-1] ; 16 } 17 } 18 19 /** 20 * Your NumArray object will be instantiated and called as such: 21 * NumArray obj = new NumArray(nums); 22 * int param_1 = obj.sumRange(i,j); 23 */
303. Range Sum Query - Immutable
标签:col nts ++ led pre cto table note numa
原文地址:http://www.cnblogs.com/mengchunchen/p/7904421.html