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

Posted sbzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 从排序数组中删除重复项相关的知识,希望对你有一定的参考价值。

最近的学习是相当的无聊,并且很无趣,每天都浪费了很多时间,比如今天下午,就是搞一手成语接龙,我也是醉了…
并且我也不知道学什么了,所以决定刷题
虽然我是0算法基础,0逻辑能力的渣渣,但是尽力每天做一道题,总会慢慢进步的

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

我最初的想法

    let removeDuplicates = function (nums) {
        for (let i = 0; i !== nums.length; i++) {
            //从当前开始向后找到相同的就删掉
            while (nums.indexOf(nums[i], i + 1) !== -1) {
                nums.splice(i, 1);
            }
        }
        return nums.length;
    };

由于条件给定的是一个排序后的有序数组,所以可以少掉一层循环

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

好好奇提交记录只用了70ms的大牛怎么写的这入门的第一题…





以上是关于leetcode 从排序数组中删除重复项的主要内容,如果未能解决你的问题,请参考以下文章

javascript [26。从排序数组中删除重复项] #tags:leetcode

Leetcode-探索 | 从排序数组中删除重复项

leetcode--数组题1:从排序数组中删除重复项

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

java [26。从排序数组中删除重复项] #Leetcode #array #double pointers

从排序数组中删除重复项(不同的最终结果)