Leetcode - Find Words That Can Be Formed by Characters
Leetcode - Range Sum Query - Immutable

Leetcode - Range Addition

violet posted @ May 09, 2020 01:40:20 AM in 算法 with tags Algorithm Golang array , 164 阅读

https://leetcode.com/problems/range-addition/

Assume you have an array of length n initialized with all 0's and are given k update operations.

Each operation is represented as a triplet: [startIndex, endIndex, inc] which increments each element of subarray A[startIndex ... endIndex] (startIndex and endIndex inclusive) with inc.

Return the modified array after all k operations were executed.

Example:

Input: length = 5, updates = [[1,3,2],[2,4,3],[0,2,-2]]
Output: [-2,0,3,5,3]

Explanation:

Initial state:
[0,0,0,0,0]

After applying operation [1,3,2]:
[0,2,2,2,0]

After applying operation [2,4,3]:
[0,2,5,5,3]

After applying operation [0,2,-2]:
[-2,0,3,5,3]

 

func getModifiedArray(length int, updates [][]int) []int {
    result := make([]int, length+1)
    for _, u := range updates{
        result[u[0]] += u[2]
        result[u[1]+1] -= u[2]
    }
    for i := 1; i < len(result); i++ {
        result[i] += result[i-1]
    }
    return result[:len(result)-1]
}

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter