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.
1 public class NumArray { 2 private int[] presum = null; 3 4 public NumArray(int[] nums) { 5 this.presum = new int[nums.Length]; 6 7 int pre = 0; 8 9 for (int i = 0; i < presum.Length; i++) 10 { 11 presum[i] = pre + nums[i]; 12 pre = presum[i]; 13 } 14 } 15 16 public int SumRange(int i, int j) { 17 return presum[j] - (i == 0 ? 0 : presum[i - 1]); 18 } 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 */