forked from liuyubobobo/Play-with-Data-Structures
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNumArray3.java
30 lines (25 loc) · 801 Bytes
/
NumArray3.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/// Leetcode 307. Range Sum Query - Mutable
/// https://leetcode.com/problems/range-sum-query-mutable/description/
///
/// 使用sum数组的思路:TLE
class NumArray3 {
private int[] data;
private int[] sum;
public NumArray3(int[] nums) {
data = new int[nums.length];
for(int i = 0 ; i < nums.length ; i ++)
data[i] = nums[i];
sum = new int[nums.length + 1];
sum[0] = 0;
for(int i = 1 ; i <= nums.length ; i ++)
sum[i] = sum[i - 1] + nums[i - 1];
}
public int sumRange(int i, int j) {
return sum[j + 1] - sum[i];
}
public void update(int index, int val) {
data[index] = val;
for(int i = index + 1 ; i < sum.length ; i ++)
sum[i] = sum[i - 1] + data[i - 1];
}
}