从排序数组JS中删除重复项

ltfx

我试图了解为什么我对这个问题的解决方案只能部分起作用。

问题

给定一个已排序的数组nums,就地删除重复项,以使每个元素仅出现一次并返回新的长度。

不要为另一个数组分配额外的空间,必须通过使用O(1)额外的内存就地修改输入数组来做到这一点。

我的解决方案:

var removeDuplicates = function(nums) {
    
    if (nums.length === 0) return 0;
    for (let i = 1; i <= nums.length; i++){
        if(nums[i] === nums[i-1]){
            nums.splice(nums[i], 1);
        }
    }
    return nums.length;
};

这是我在leetcode上得到的结果,但是我不明白为什么我的解决方案停止工作并且未删除“ 3”吗?

输出截图:

屏幕截图的图像

一定的表现

当您在遍历数组时拼接数组时,整个数组将就地更改例如,假设索引0和1是重复项(i为1)。然后,如果从数组中删除索引1,则以前在索引2处的内容现在将在索引1处,而以前在索引3处的内容现在将在索引2处,依此类推。

因此,i删除元素时需要减去1 ,否则将跳过下一个元素。

您还会遇到一个错误-i1进行迭代i < nums.length因此您不会越过数组的末尾。

您还需要将要删除索引传递splice,而不是要删除

var removeDuplicates = function(nums) {
    for (let i = 1; i < nums.length; i++){
        if(nums[i] === nums[i-1]){
            nums.splice(i, 1);
            i--;
        }
    }
    return nums.length;
};
console.log(removeDuplicates([0, 0, 0]));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Java

26.从排序数组中删除重复项-Java

来自分类Java

从大型未排序数组中删除重复项并保持顺序

来自分类Dev

从未排序的数组中删除重复项

来自分类Dev

在具有重复项的排序数组中查找A [i] = i

来自分类Dev

将重复项移到排序数组的末尾

来自分类Java

从排序数组中删除0值?

来自分类Javascript

从数组中删除重复项

来自分类PHP

PHP重新排序数组,其中包含重复项以使重复项之间保持距离

来自分类Dev

排序并删除重复项

来自分类Javascript

js通过值从对象数组中删除重复项并计算重复项

来自分类Java

问题是从未排序的数组中删除重复项并保持时间O(N)

来自分类Java

如何从数组列表中删除重复项

来自分类Dev

如何从AutoHotkey数组中删除重复项?

来自分类Javascript

Lodash从数组中删除重复项

来自分类Javascript

删除对象数组Javascript中的重复项

来自分类Java

从数组中删除左侧重复项

来自分类Dev

删除int数组列表中的重复项

来自分类Dev

从数组中完全删除重复项

来自分类Dev

从GeoFire对象数组中删除重复项

来自分类Dev

从字典数组中删除键值的重复项

来自分类Dev

JavaScript:删除数组中的重复项

来自分类Dev

从numPy数组列表中删除重复项

来自分类Dev

从对象数组中删除重复项

来自分类Dev

Lodash:从数组中删除连续的重复项

来自分类Dev

如何从数组中删除否定重复项?

来自分类Dev

如何删除数组中的重复项

来自分类Dev

从数组中删除偶数的重复项

来自分类Dev

如何从Android的无后端和隐藏(不删除)重复项中排序数据?

来自分类Java

k个没有重复项的排序数组的迭代器实现-面试问题

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    HikariPool-1-连接不可用,对于极小的负载服务器,请求在30000ms之后超时

  3. 3

    OpenJDK的和AdoptOpenJDK的区别

  4. 4

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  5. 5

    java.lang.NoClassDefFoundError:无法初始化类org.bytedeco.javacpp.avutil

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    如何优化在Java中这种方法吗?我得到的时间超限

  8. 8

    错误TS1086:一个存取器不能在角9的环境上下文被声明

  9. 9

    java.lang.NoSuchFieldError的:ACCEPT_CASE_INSENSITIVE_VALUES

  10. 10

    如何在exoplayer中播放本地媒体文件的硬编码内容uri

  11. 11

    Keras提前停止回调错误,val_loss指标不可用

  12. 12

    在JavaScript中删除多个对象键值

  13. 13

    请问Spring事务管理工作与Spring WebFlux?

  14. 14

    未定义:grpc.SupportPackageIsVersion7 grpc.ServiceRegistrar

  15. 15

    如何在Python中将字典拆分成多个字典的列表,所有字典的大小均为N

  16. 16

    在IntelliJ IDEA中并行运行测试用例

  17. 17

    Java的无法解析日期的SimpleDateFormat

  18. 18

    tensorflow:仅在可用val_acc的情况下可以保存最佳模型,跳过

  19. 19

    无法装载动态库“libnvinfer.so.6”

  20. 20

    Java反射错误Java.lang.NoSuchMethodException,但是方法存在

  21. 21

    我在android studio中创建了clicker应用。但是,运行时,应用程序在调用“ incrementCount()”后崩溃。为什么?

热门标签

归档