文章有點(diǎn)細(xì)節(jié)沒(méi)講清楚。這句"這一步處理的是插入元素多于刪除元素時(shí),進(jìn)行元素的位置移動(dòng)。思路和上一步差不多。"值得商榷,具體的可以看循環(huán)過(guò)程中為什么一個(gè)k是遞增,為何一個(gè)k是遞減的。
1,如果添加的元素?cái)?shù)量小于刪除的元素刪除的元素?cái)?shù)量(說(shuō)明數(shù)組的length減少),元素移動(dòng)則是從actualDeleteCount+actualStart位置的元素開(kāi)始,最后一次移動(dòng)的是數(shù)組的最后一個(gè)元素,所以k是遞增的。
2,如果添加的元素?cái)?shù)量大于刪除的元素刪除的元素?cái)?shù)量(說(shuō)明數(shù)組的length增加),元素移動(dòng)則是從數(shù)組最后一個(gè)的元素開(kāi)始往外移動(dòng),最后一次移動(dòng)的是actualDeleteCount+actualStart位置的元素,所以k是遞減的。
【JavaScript】splice方法實(shí)現(xiàn)原理分析近日在LeetCode[https://leetcode.com/problems/ransom-note/]上刷題,一個(gè)題目提交代碼后提示Time Limit Exceed...