五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

LeetCode刷題370:區(qū)間加法

2023-08-14 16:11 作者:自閉選手的Z23  | 我要投稿

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

????其中,每個操作會被表示為一個三元組:[startIndex, endIndex, inc],

你需要將子數組 A[startIndex ... endIndex](包括 startIndex 和 endIndex)增加 inc。

????請你返回 k 次操作后的數組。


思路分析:

1.使用差分數組的解題技巧

2.差分數組:主要適用場景是頻繁對原始數組的某個區(qū)間的元素進行增減;類似于前綴和構造的prefix數組,我們構造一個差分數組diff。

????diff[i] = nums[i] - nums[i - 1]

3.示意圖:

4.運用差分數組進行區(qū)間增刪的操作(重點理解)

差分數組其實就是增加量,若對原始數組nums[i…j]增(刪) value :

則????diff[i] += value,????即nums[i…]增加了value

之后????diff[j+1] -= value,即對nums[j…]減少了value,綜合起來就是沒有變化

例:原始數組nums[5] = {1,2,3,4,5};????則差分數組diff[5] = {1,1,1,1,1};

假設有操作[1,3,1],????下標1開始到下標3結束的值全加1

對差分數組:diff[1] += 1value,

?即原始數組nums[1…](nums[1],nums[2],nums[3],nums[4])增加了1.

對差分數組:diff[3+1] -= 1(value),即對nums[4]減少了value,減去了超出結束下標的增加值,只保留了區(qū)間范圍內的增加。


5.返回結果數組

根據差分數組構造結果數組????

????result:result[0] = diff[0];?

????result[i] = result[i - 1] + diff[i]







LeetCode刷題370:區(qū)間加法的評論 (共 條)

分享到微博請遵守國家法律
同德县| 阿图什市| 大埔县| 大宁县| 赤峰市| 景谷| 平阴县| 太和县| 大同县| 买车| 沈丘县| 铁岭县| 玉门市| 炎陵县| 泰和县| 南和县| 泸定县| 普陀区| 萨迦县| 平潭县| 玉龙| 修水县| 凤山市| 商河县| 龙门县| 平武县| 阿克| 平和县| 成都市| 教育| 博爱县| 五家渠市| 莆田市| 盱眙县| 卢氏县| 弥渡县| 塔城市| 尚志市| 邵武市| 韶山市| 桂平市|