區域和檢索-數組不可變(簡單)
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];
}
}