LeetCode:303. Range Sum Query - Immutable 数组范围内求和 ╰+哭是因爲堅強的太久メ 2021-06-24 16:10 309阅读 0赞 **试题:** 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 { int[] sums; public NumArray(int[] nums) { sums = new int[nums.length]; for(int i=0; i<nums.length; i++){ if(i==0) sums[i] = nums[i]; else sums[i] = sums[i-1] + nums[i]; } } public int sumRange(int i, int j) { return sums[j]-(i==0?0:sums[i-1]); } } /** * Your NumArray object will be instantiated and called as such: * NumArray obj = new NumArray(nums); * int param_1 = obj.sumRange(i,j); */
还没有评论,来说两句吧...