码迷,mamicode.com
首页 > 其他好文 > 详细

303. Range Sum Query - Immutable

时间:2017-11-27 16:55:02      阅读:190      评论:0      收藏:0      [点我收藏+]

标签: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:

  1. You may assume that the array does not change.
  2. 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

标签:col   nts   ++   led   pre   cto   table   note   numa   

原文地址:http://www.cnblogs.com/mengchunchen/p/7904421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!