303. Range Sum Query - Immutable

Posted optor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了303. Range Sum Query - Immutable相关的知识,希望对你有一定的参考价值。

原题链接:https://leetcode.com/problems/range-sum-query-immutable/description/
实现如下:

/**
 * Created by clearbug on 2018/4/8.
 */
public class NumArray {

    private final int[] nums;

    public NumArray(int[] nums) {
        this.nums = nums;
    }

    /**
     * 这是最简单的一种实现了
     *
     * Submission Detail: beats 3.37%
     * Runtime: 710 ms
     *
     * @param i
     * @param j
     * @return
     */
    public int sumRange(int i, int j) {
        int sum = 0;
        for (int k = i; k <= j; k++) {
            sum += nums[k];
        }
        return sum;
    }

    // 这个效率太差了,看了下提交区的高分答案:把数组 nums 每个索引位置之前的元素的和在初始化时记录缓存下来下来,然后调用 sumRange 时就可以
    // 直接返回了,因为题目里提到了:There are many calls to sumRange function. 所以缓存下来性能能大大提升的。
}

以上是关于303. Range Sum Query - Immutable的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode-303 Range Sum Query - Immutable

303. Range Sum Query - Immutable

303. Range Sum Query - Immutable

303. Range Sum Query - Immutable

303. Range Sum Query - Immutable

LeetCode 303. Range Sum Query - Immutable