您的位置 首页 JAVA(2017)

LeetCode – 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:

  1. You may assume that the array does not change.
  2. There are many calls to sumRange function.

这道题我看到的时候其实是楞逼的。他并不只是要写算法,而是要写个小程序。

public class NumArray {
    public int[] sums;
    public NumArray(int[] nums) {
        if(nums.length == 0) return;
        sums = new int[nums.length];
        sums[0] = nums[0];
        for(int i=1;i<nums.length;i++){
            sums[i] = sums[i-1] + nums[i]; 
        }
    }
    
    public int sumRange(int i, int j) {
        if(i ==0){
            return sums[j];
        }
        return sums[j] - sums[i-1];
    }
}

/**
 * Your NumArray object will be instantiated and called as such:
 * NumArray obj = new NumArray(nums);
 * int param_1 = obj.sumRange(i,j);
 */
看完了?留个评分呗?
[0人评了分,平均: 0/5]

本站原创文章皆遵循“署名-非商业性使用-相同方式共享 3.0 (CC BY-NC-SA 3.0)”。转载请保留以下标注:

原文来源:《LeetCode – 303. Range Sum Query – Immutable》

发表评论

邮箱地址不会被公开。

返回顶部