最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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ū)間加法的評論 (共 條)

分享到微博請遵守國家法律
鹿邑县| 榕江县| 盘山县| 永康市| 治多县| 南澳县| 庆云县| 凌源市| 武宁县| 博爱县| 谢通门县| 麻阳| 东源县| 阜城县| 宁武县| 华蓥市| 吉木萨尔县| 盐山县| 南部县| 肇东市| 西乡县| 南城县| 仁布县| 扶沟县| 大丰市| 绥棱县| 玉环县| 珲春市| 南宫市| 原阳县| 工布江达县| 洪洞县| 基隆市| 通辽市| 焦作市| 策勒县| 辽阳市| 缙云县| 扎赉特旗| 大同县| 桐庐县|