Class NumArray
-
- All Implemented Interfaces:
public final class NumArray
307 - Range Sum Query - Mutable\.
Medium
Given an integer array
nums
, handle multiple queries of the following types:Update the value of an element in
nums
.Calculate the sum of the elements of
nums
between indicesleft
andright
inclusive whereleft <= right
.
Implement the
NumArray
class:NumArray(int[] nums)
Initializes the object with the integer arraynums
.void update(int index, int val)
Updates the value ofnums[index]
to beval
.int sumRange(int left, int right)
Returns the sum of the elements ofnums
between indicesleft
andright
inclusive (i.e.nums[left] + nums[left + 1] + ... + nums[right]
).
Example 1:
Input "NumArray", "sumRange", "update", "sumRange" [[1, 3, 5], 0, 2, 1, 2, 0, 2]
Output: null, 9, null, 8
Explanation: NumArray numArray = new NumArray(1, 3, 5); numArray.sumRange(0, 2); // return 1 + 3 + 5 = 9 numArray.update(1, 2); // nums = 1, 2, 5 numArray.sumRange(0, 2); // return 1 + 2 + 5 = 8
Constraints:
<code>1 <= nums.length <= 3 * 10<sup>4</sup></code>
-100 <= nums[i] <= 100
0 <= index < nums.length
-100 <= val <= 100
0 <= left <= right < nums.length
At most <code>3 * 10<sup>4</sup></code> calls will be made to
update
andsumRange
.