您的位置:首页 > 产品设计 > UI/UE

leetcode 303. Range Sum Query - Immutable 【easy】

2016-10-25 17:19 477 查看
题目:

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 {

public:

vector<int> acArray;

NumArray(vector<int> &nums) {

acArray.clear();

int sum =0;

int len = nums.size();

for (int i=0;i<len;i++){

sum+=nums[i];

acArray.push_back(sum);

}

}

int sumRange(int i, int j) {

return acArray[j]-acArray[i-1];

}

};

思路:

从a=0开始,到a=数组长度-1,分别算出【0,a】的和

【0,j】-【0,i-1】即可得到【i,j】的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ leetcode 算法