leetcode-Remove Duplicates from an Array (ES6)


Posted by hoyi-23 on 2021-07-25

建立新陣列來解的方法: 文章看這


題目:
必須移除陣列中重複的數字(此鎮列為排序好的陣列),然後回傳新的陣列的長度
不允許建立新的陣列。必須透過回傳一個固定的數字,來表示陣列的長度。

理解:
這邊我們會有一個排序好的陣列,排序好的意思是: 相同的數字會排在一起。
執行時注意有可能是空陣列或長度小於2(代表僅有一個數)
我們要回傳一個沒有重複數值的陣列長度。

實作邏輯:

  1. 若原本長度小於2,直接回傳
  2. 若後者數值與前者數值相同,使用splice()刪除後者

var removeDuplicates = function(nums) {
    const length = nums.length

    if (length < 2) {
        return length
    }

    let i = 1
    while (i < nums.length) {
        if (nums[i] === nums[i-1]) {
            nums.splice(i, 1)
        } else {
            i++
        }
    }

    return nums.length
};

console.log(removeDuplicates([1,2,2,3,4,4]))

Splice()參考文章


#Leetcode







Related Posts

開端,為什麼想學GUI編程

開端,為什麼想學GUI編程

[Day 02] - Vault 的啟動及 Unseal 概念

[Day 02] - Vault 的啟動及 Unseal 概念

JS30 Day 14 筆記

JS30 Day 14 筆記


Comments