題目描述:
假設你有乙個長度為 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...