303. Range Sum Query - Immutable
Posted __Meng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了303. Range Sum Query - Immutable相关的知识,希望对你有一定的参考价值。
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.
区间求和
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的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode-303 Range Sum Query - Immutable
303. Range Sum Query - Immutable
303. Range Sum Query - Immutable
303. Range Sum Query - Immutable