LeetCode—区域和检索-数组不可变(暴力+前缀和)

区域和检索-数组不可变(简单)

2020年6月15日

题目来源:力扣

在这里插入图片描述

解题

  • 暴力
class NumArray {
    private int[] data;
    public NumArray(int[] nums) {
        data=nums;
    }
    
    public int sumRange(int i, int j) {
        int sum=0;
        for(int id=i;id<=j;id++){
            sum+=data[id];
        }
        return sum;
    }
}

在这里插入图片描述

  • 前缀和(来自官方题解)

写法简单,data[0]留第一位为0的写法学到了。

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41541562/article/details/106764182