370. Range Addition
Description
You are given an integer length and an array updates where updates[i] = [startIdx<sub>i</sub>, endIdx<sub>i</sub>, inc<sub>i</sub>].
You have an array arr of length length with all zeros, and you have some operation to apply on arr. In the i^th operation, you should increment all the elements arr[startIdx<sub>i</sub>], arr[startIdx<sub>i</sub> + 1], ..., arr[endIdx<sub>i</sub>] by inc<sub>i</sub>.
Return arr after applying all the updates.
Example 1:
1 | Input: length = 5, updates = [[1,3,2],[2,4,3],[0,2,-2]] |
Example 2:
1 | Input: length = 10, updates = [[2,4,6],[5,6,8],[1,9,-4]] |
Constraints:
1 <= length <= 10^50 <= updates.length <= 10^40 <= startIdx<sub>i</sub> <= endIdx<sub>i</sub> < length-1000 <= inc<sub>i</sub> <= 1000
Hints/Notes
- Use the diff array
Solution
Language: C++
1 | class Solution { |