LeetCode-307 Range Sum Query - Mutable

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:
The array is only modifiable by the update function.
You may assume the number of calls to update and sumRange function is distributed evenly.

2 possible and fast way to solve this

  1. use Binary Index Tree
    Index Tree Solution
  2. Use Segment Tree
    Many ways to implement a SegmentTree: using TreeNodes, or an Array
    SegmentTree
    Solution