303. 区域和检索 - 数组不可变

 1 class NumArray 
 2 {
 3     vector<int> sums;
 4 public:
 5 
 6     NumArray(vector<int>& nums) 
 7     {
 8         if(nums.size() == 0) return;
 9         int n = nums.size();
10         sums = vector<int>(n,0);
11         sums[0] = nums[0];
12         for(int i = 1;i < n;i ++) sums[i] += sums[i - 1] + nums[i];
13     }
14     
15     int sumRange(int i, int j) 
16     {
17         if(i == 0) return sums[j];
18         else return sums[j] - sums[i - 1];
19     }
20 };
21 
22 /**
23  * Your NumArray object will be instantiated and called as such:
24  * NumArray* obj = new NumArray(nums);
25  * int param_1 = obj->sumRange(i,j);
26  */

 

posted @ 2020-04-16 16:35  Jinxiaobo0509  阅读(114)  评论(0)    收藏  举报