303. Range Sum Query - Immutable

Total Accepted: 20875
Total Submissions: 85065
Difficulty: Easy

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.

Java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class NumArray {

    private static int[] sum;

    public NumArray(int[] nums) {
        for (int i = 1; i < nums.length; ++i)
            nums[i] += nums[i - 1];
        this.sum = nums;
    }

    public int sumRange(int i, int j) {
        return sum[j] - (i == 0 ? 0 : sum[i - 1]);
    }
}

打个小广告

欢迎加入我的小专栏「基你太美」一起学习。