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

Return first capital letter and its index

Return first capital letter and its index

wsl 下的 linux crontab 沒有執行問題

wsl 下的 linux crontab 沒有執行問題

淺談 React 中的 State 與 Props

淺談 React 中的 State 與 Props


Comments