刪除排序數組中的重複項

題目:

@param {number[]} nums
@return {number}
 例如:給定數組 nums = [1,1,2]
    1.函數應該返回新的長度 2
    2.並且原數組 nums 的前兩個元素被修改爲 1, 2

解答:

function removeDuplicates (nums) {
    if (nums.length == 0) {
        return 0
    }
    let j = 0;
    for (let i = 1; i < nums.length; i++) {
        if (nums[i] != nums[j]) { //如果後一個元素不等於前一個元素
            console.log(i)
            j++;
            // console.log(j)
            nums[j] = nums[i]; //把當前元素的前面的值插入
        }
    }
    return j + 1;
}
let nums = [0, 0, 1, 1, 1, 2, 2, 3, 3, 4];
console.log(removeDuplicates(nums)); // => 5
console.log(nums); // => [ 0, 1, 2, 3, 4, 2, 2, 3, 3, 4 ]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章