370 區間加法

2021-10-09 19:47:31 字數 875 閱讀 8782

題目描述:

假設你有乙個長度為 n 的陣列,初始情況下所有的數字均為 0,你將會被給出 k​​​​​​​ 個更新的操作。

其中,每個操作會被表示為乙個三元組:[startindex, endindex, inc],你需要將子陣列 a[startindex … endindex](包括 startindex 和 endindex)增加 inc。

請你返回 k 次操作後的陣列。

示例:

輸入: length = 5, updates = [[1,3,2],[2,4,3],[0,2,-2]]

輸出: [-2,0,3,5,3]

解釋:

初始狀態:

[0,0,0,0,0]

進行了操作 [1,3,2] 後的狀態:

[0,2,2,2,0]

進行了操作 [2,4,3] 後的狀態:

[0,2,5,5,3]

進行了操作 [0,2,-2] 後的狀態:

[-2,0,3,5,3]

方法1:

主要思路:

(1)把每個區間的兩端的變化量標識出來,後面直接利用兩端的變化量,對陣列進行增量處理;

class

solution

vector<

int>

res(length,0)

;int cur_incre=0;

//標識當前的增量

//對每個位置計算其當前的增量

for(

int i=

0;i++i)

return res;}}

;

LeetCode Python 370 區間加法

假設你有乙個長度為n的陣列,初始情況下所有的數字均為0,你將會被給出k 個更新的操作。其中,每個操作會被表示為乙個三元組 startindex,endindex,inc 你需要將子陣列a startindex endindex 包括 startindex 和 endindex 增加inc。請你返回k...

7620 區間合併

7620 區間合併 總時間限制 1000ms 記憶體限制 65536kb 描述 給定 n 個閉區間 ai bi 其中i 1,2,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,1 2 和 2 3 可以合併為 1 3 1 3 和 2 4 可以合併為 1 4 但是 1 2 和 3 4 不可以合...

4975 區間翻轉

小q和tangjz正在乙個長度為n的序列a 1,a 2,a n上玩乙個有趣的關於區間翻轉的遊戲。小q和tangjz輪流行動 小q先手。每次行動方玩家需要選擇乙個長度為4x 2或4x 3的區間 l,r 1 l r n 其中x是該玩家自行選擇 的非負整數,然後將a l,a a a r翻轉,例如1 3 2...