五月天青色头像情侣网名,国产亚洲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ū)間加法的評論 (共 條)

分享到微博請遵守國家法律
马边| 肇东市| 渭南市| 东兰县| 抚顺县| 屏边| 西充县| 丰宁| 光泽县| 阿图什市| 英吉沙县| 定南县| 长宁县| 南和县| 江城| 文登市| 阜新| 商洛市| 塘沽区| 阿城市| 灵丘县| 壤塘县| 布尔津县| 新乡县| 宜都市| 治多县| 巴林左旗| 德兴市| 连山| 灵山县| 安图县| 克山县| 洛隆县| 辉南县| 玛纳斯县| 福清市| 繁昌县| 揭西县| 丰县| 南平市| 辽中县|