JS算法题解数组删除重复项方法示例

 更新时间:2023年07月14日 11:25:08   作者:醉前端  
这篇文章主要为大家介绍了JS算法题解数组删除重复项方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

题目

删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定数组 nums = [1,1,2],

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。
你不需要考虑数组中超出新长度后面的元素。

示例 2:

给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
你不需要考虑数组中超出新长度后面的元素。

答案

解法1.

const removeDuplicates = nums => {
    let count = 0;
    const n = nums.length;
    for(let i = 1; i < n; i++){
        if(nums[i] != nums[i-1]){
            nums[i-count] = nums[i]
        }else{
            count++;
        }
    }
    return n-count;
};

解法2.

const removeDuplicates = nums => {
    let j = 0;
    const n = nums.length;
    for(let i = 1; i < n; i++){
        if(nums[i]!= nums[i-1]){
            j++;
            nums[j] = nums[i];
        }
    }
    return j+1;
};

以上就是JS算法题解数组删除重复项方法示例的详细内容,更多关于JS算法数组删除重复项的资料请关注脚本之家其它相关文章!

相关文章

  • 微信小程序 Windows2008 R2服务器配置TLS1.2方法

    微信小程序 Windows2008 R2服务器配置TLS1.2方法

    微信小程序免费SSL证书https、TLS版本问题的解决方案《二十四》request:fail错误(含https解决方案)(真机预览问题把下面的代码复制到PowerShell里运行一下,然后重启服务器。# Enables TLS 1.2 on ...,需要的朋友可以参考下
    2016-12-12
  • Javascript 解构赋值详情

    Javascript 解构赋值详情

    这篇文章主要介绍了Javascript 解构赋值详情,解构赋值是ES6中的特性,可以将对象或数组中的值同时赋值给多个变量。西阿棉一起来看看详细内容吧,需要的朋友可以参考下
    2021-11-11
  • THREE.js添加多个castShadow光源报错解决及原因分析

    THREE.js添加多个castShadow光源报错解决及原因分析

    这篇文章主要介绍了THREE.js添加多个castShadow的光源报错解决及原因分析
    2023-06-06
  • Promise改写获取萤石云直播地址接口示例

    Promise改写获取萤石云直播地址接口示例

    这篇文章主要为大家介绍了Promise改写获取萤石云直播地址接口示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • async-validator实现原理源码解析

    async-validator实现原理源码解析

    这篇文章主要为大家介绍了async-validator实现原理源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 微信小程序 按钮滑动的实现方法

    微信小程序 按钮滑动的实现方法

    这篇文章主要介绍了微信小程序 按钮滑动的实现方法的相关资料,希望通过本文能帮助到大家实现这样的功能,需要的朋友可以参考下
    2017-09-09
  • 微信小程序开发入门基础教程

    微信小程序开发入门基础教程

    这篇文章主要介绍了微信小程序开发入门基础教程的相关资料,需要的朋友可以参考下
    2017-04-04
  • JS中this的4种绑定规则详解

    JS中this的4种绑定规则详解

    如果你学过面向对象编程,那你肯定知道干什么用的,如果你没有学过,那么暂时可以不用看这篇文章,this既不指向函数自身,也不指函数的词法作用域,具体怎么使用JS中的this,JS中的this绑定规则又是什么?
    2020-02-02
  • JavaScript中5个常用的对象

    JavaScript中5个常用的对象

    JavaScript是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。本篇内容小编就来详细解说JavaScript常用的对象,需要的朋友可以参考一下
    2021-10-10
  • JS前端白屏前世今生及解决方式

    JS前端白屏前世今生及解决方式

    这篇文章主要为大家介绍了JS前端白屏前世今生及解决方式案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论