來刷 LeetCode 吧! 13 26. Remove Duplicates from Sorted Array
LeetCode
題目分析
nums 為遞增排序的 array,我們要移除重複的元素。
讓移除重複元素 nums 的數量設為 k,回傳 k。
- 直接修改 nums
- nums 前 k 個元素應為唯一元素,剩餘的元素、大小不重要。
第一直覺
var removeDuplicates = function (nums) { if (nums.length === 0) return 0; // nums 為 0 直接回傳 let k = 1; // 設定 k 紀錄 nums 唯一元素數量,最少為 1 for (let i = 1; i < nums.length; i++) { // 從 nums[1] 開始比較 if (nums[i] !== nums[i - 1]) { nums[k] = nums[i]; k++; } } return k; }; console.log(removeDuplicates([0, 0, 1, 1, 1, 1, 2, 3, 4, 4])); // 5 console.log( removeDuplicates([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]) ); // 2