删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。
function removeDuplicates(nums) {
let obj = {}
for(let i = nums.length-1;i > -1;i-- ){
let item = nums[i]
if(obj[item]){
obj[item] += 1
if(obj[item] > 2){
nums.splice(i,1)
}
}else{
obj[item] = 1
}
}
return nums.length
}
/**
* 删除有序数组中的重复项
*/
const removeDuplicates = (arr = [1,2,2,2,3,3,4,5,5,5,6,7,8,8,8]) => {
let slow = 0, fast = 0;
while(fast < arr.length){
if(arr[slow] !== arr[fast]){
slow++
arr[slow] = arr[fast]
}
fast++
}
return arr.slice(0, slow + 1)
}
以自己现在的努力程度,还没有资格和别人拼天赋

浙公网安备 33010602011771号