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
};
相关推荐
西西学代码9 分钟前
Flutter---构造函数
开发语言·javascript·flutter
invicinble16 分钟前
关于对vue的认识
javascript·vue.js·ecmascript
EF@蛐蛐堂18 分钟前
【vue】Vite 生态 5 个 “新玩具“
前端·javascript·vue.js
hzb666661 小时前
xd_day32-day40
java·javascript·学习·安全·web安全·tomcat·php
四千岁1 小时前
WSL + OpenCode 最佳实践:环境一致、模型配置、GUI 远程使用
前端·javascript·后端
你挚爱的强哥1 小时前
【sgCreateQrcode】自定义组件:模仿草料二维码做了一个简单的二维码制作组件
javascript·vue.js·elementui
kyriewen1 小时前
for...of 的秘密:迭代器与可迭代对象,你也能创造“可循环”的东西
前端·javascript·面试
SuperEugene1 小时前
前端 Git 协作规范实战:commit message + 分支管理 + 合并流程,告别冲突与混乱|工程化与协作规范篇
前端·javascript·vue.js·git·前端框架
泯仲1 小时前
Zustand 状态管理实战详解:轻量高效的React状态方案
前端·javascript·react.js
张一凡931 小时前
做了一个AI聊天应用后,我决定试试这个状态管理库
前端·javascript·react.js