一提到原地刪除數組,就能當即想到雙指針法,這道題自己也沒什麼難度,平常水題,java
雙指針算法
沒有思路的時候,耐心一點便可數組
/** * @param {number[]} nums * @return {number} */ const removeDuplicates = (nums) => { if (nums.length === 0) return 0 if (nums.length === 1) return 1 if (nums.length < 2 && nums[0] !== nums[1]) return 2 let i = 0 for (j = 1; j < nums.length; j++) { if (nums[j] !== nums[i]) { nums[++i] = nums[j] } } return i + 1 }
傳入112
的運行結果指針
2
執行結果code
執行用時 :76 ms, 在全部 javascript 提交中擊敗了97.75% 的用戶 內存消耗 :36.4 MB, 在全部 javascript 提交中擊敗了92.29%的用戶