国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

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

分享到微博請遵守國家法律
贞丰县| 石台县| 尼木县| 买车| 岑溪市| 丽水市| 文昌市| 定西市| 英德市| 自治县| 开阳县| 伊宁市| 上杭县| 许昌市| 雅江县| 崇义县| 石棉县| 屯门区| 阳江市| 曲周县| 五家渠市| 延川县| 赣榆县| SHOW| 安仁县| 长海县| 息烽县| 和政县| 波密县| 双江| 抚州市| 孟村| 两当县| 兴化市| 清新县| 桐城市| 广元市| 合阳县| 虞城县| 新密市| 巴林左旗|