LeetCode80. 删除有序数组中的重复项 II(JavaScript版)

LeetCode题目链接

题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

js版本

javascript 复制代码
/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
    if (nums.length <= 2){
        return nums.length
    }
    let s = 0;
    let f = 1;
    for (let i=1;i<nums.length;i++){
        if(nums[i] !== nums[s]){  
            nums[s+1]=nums[i]
            s++; 
            f=1;
        } else if(f<2) {
                 nums[s+1]=nums[i]
                   s++; 
                   f++;
        }    

    }
  return s+1
};
相关推荐
Lee川1 小时前
解锁 JavaScript 的灵魂:深入浅出原型与原型链
javascript·面试
swipe2 小时前
从原理到手写:彻底吃透 call / apply / bind 与 arguments 的底层逻辑
前端·javascript·面试
Lee川4 小时前
探索JavaScript的秘密令牌:独一无二的`Symbol`数据类型
javascript·面试
Lee川4 小时前
深入浅出JavaScript事件机制:从捕获冒泡到事件委托
前端·javascript
光影少年4 小时前
async/await和Promise的区别?
前端·javascript·掘金·金石计划
codingWhat4 小时前
如何实现一个「万能」的通用打印组件?
前端·javascript·vue.js
前端Hardy7 小时前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy7 小时前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js
csdn飘逸飘逸8 小时前
Autojs基础-用户界面(ui)
javascript
炫饭第一名8 小时前
速通Canvas指北🦮——图形、文本与样式篇
前端·javascript·程序员