JavaScript LeetCode 26. Remove Duplicates from Sorted Array

紀錄 LeetCode 26. Remove Duplicates from Sorted Array 解題過程與思路

JavaScript LeetCode 26. Remove Duplicates from Sorted Array
Photo by Matthew Henry / Unsplash

陣列去重複,其實我看到就想說幹嘛不直接用 Set 處理就好了,可讀性還比較高🤡
不過既然題目這樣出就寫下去吧,整個思考過程大概就是

  • N+1 去跟 N 比較
  • 如果不同就把 N + 1 = N
  • Tick 紀錄往下走
  • return Tick + 1

程式碼如下

/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function (nums) {
  let i = 0
  for (let j=1;j<nums.length;j++) {
    if (nums[j]!==nums[i]) {
      nums[i+1]=nums[j]
      i++
    }
  }
  return i+1
}

不過可以看到,我這邊是用 j=1 因為從 0 開始跑 j 跟 i 都為 0 自己跟自己比意義
可以省去一個迴圈步驟,所以偷雞了一下😂

只是不知道為什麼同樣的程式碼,每次 runtime 時間都有點不太一樣,不知道他到底的評斷標準是什麼。