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

Range Sum Query - Immutable【数组指定区间内的元素和】

2017-07-27 23:30 399 查看

一、题目

英文:Range Sum Query - Immutable

中文:数组指定区间内的元素和

二、内容要求

英文:Given an integer array nums,
find the sum of the elements between indices i and j (i ≤ j),
inclusive.
中文:给定一个数组nums,求出索引i和j之间元素的和,i一定是小于或等于j的

三、示例

Given nums = [-2, 0, 3, -5, 2, -1]

sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3


四、代码

提示:(1)您可以假设数组没有改变。(2)求和函数有很多种调用。

1.java代码
public class NumArray {

int[] nums;//创建一个新数组

public NumArray(int[] nums) {
for(int i = 1; i < nums.length; i++)
nums[i] += nums[i - 1];//在原数组上分别求出前i个元素的和,并放入原数组的索引i位置作为元素

this.nums = nums;//将原数组转移放入到新数组
}

public int sumRange(int i, int j) {//i,j分别是所求的原始数组起始索引和终点索引
if(i == 0)
return nums[j];//起始索引为0时,直接返回新数组的索引为j的值

return nums[j] - nums[i - 1];//返回新数组当前i位置元素值减去新数组第i-1位置的值,就得原数组第i到第j的值得和
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: