删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。
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) }
以自己现在的努力程度,还没有资格和别人拼天赋