算法-双指针-去除数组重复项

107 阅读1分钟

去除有序数组重复项

Snip20220329_34.png

输入:nums = [1,1,2] 输出:2, nums = [1,2,_] 解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。

const removeDoubleNum=function(nums:number[]):number{
    const n=nums.length
    if(n==0)
        return 0
    let fast=1,slow=1
    while(fast<n){
         if(nums[fast]!=nums[fast-1]){
             nums[slow]=nums[fast]
             slow++
         }
         fast++
    }
    return slow
}