Range Sum Query - Mutable

Segment Tree, Binary Indexed Tree

Medium

Given an integer array nums, find the sum of the elements between indices i and j (i≤j), inclusive.

The update(i, val) function modifies nums by updating the element at index i to val.

Example:

Given nums = [1, 3, 5]

sumRange(0, 2) -> 9
update(1, 2)
sumRange(0, 2) -> 8

Note:

  1. The array is only modifiable by the update function.

  2. You may assume the number of calls to update and sumRange function is distributed evenly.

Solution

Segment Tree

~100 lines of code; 58 ms, faster than 100.00%; 45.9 MB, less than 93.37%

Binary Indexed Tree

Last updated

Was this helpful?