Class NumArray
-
- All Implemented Interfaces:
public final class NumArray307 - 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
numsbetween indicesleftandrightinclusive whereleft <= right.
Implement the
NumArrayclass: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 ofnumsbetween indicesleftandrightinclusive (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] <= 1000 <= index < nums.length-100 <= val <= 1000 <= left <= right < nums.lengthAt most <code>3 * 10<sup>4</sup></code> calls will be made to
updateandsumRange.