/**
* @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);
}
因为只要返回不重复元素的个数,所以可以使用双指针标记。这种方法无论是时间还是空间都更高效。