LeetCode#26删除排序数组中的重复项

题目描述

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

本题用JavaScript语法暴力解答很简单,循环找到重复元素删除就好了。

/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
for (var m = 0, n = 0; n < array.length; n++) {
  if (array[m] !== array[n]) {
    m++
    // 如果只是为了返回不重复元素个数 可以不写
    array[m] = array[n]
  }
}
return m + 1
// console.log(m + 1);
}

因为只要返回不重复元素的个数,所以可以使用双指针标记。这种方法无论是时间还是空间都更高效。

欢迎大家来我的 [Gitee仓库](https://gitee.com/jiffyzhang)参观。 同时欢迎关注我的同名公众号:就这样写(keepStarve),未来很大可能会活跃在此地。
原文地址:https://www.cnblogs.com/zhang-bobo/p/13737260.html