美文网首页不正经IT从业者
删除排序素数组中的重复选项

删除排序素数组中的重复选项

作者: Mark_大东 | 来源:发表于2020-06-10 09:02 被阅读0次

    删除排序素数组中的重复选项

    难度:简单

    题目求解的是返回移除后数组的新长度,即返回数组中不重复数的个数

    第一种方法

    时间复杂度:O(n)

    空间复杂度:O(1)

    // 循环遍历数组比较第i个与第i+1个的值是否相等,不相等i+1
    // 返回i+1,是因为题目是给一个排序数组,长度至少有1
    // 同时i是慢指针,j是快指针
    var removeDuplicates = function(nums) {
        let i = 0
        for (let j = 1 ; j < nums.length ; j ++){
            if (nums[j] !== nums[i]){
                i ++
                nums[i] = nums[j]
            }
        }
        return i + 1
    };
    

    数据结构与算法:

    • 数据结构与算法要解决什么问题:快和省的问题,即如何让代码运行的更快,如何让代码更省存储空间。
    • 复杂度分析是算法学习的基础,包括时间复杂度、空间复杂度
    • 复杂度分析的方法:大O表示法,计算代码执行随着时间增长的一种变化趋势
    • 时间复杂度:表示算法的执行时间随着数据增长的一种变化趋势
    • 空间复杂度:表示算法的存储空间随着数据增长的一种变化趋势

    相关文章

      网友评论

        本文标题:删除排序素数组中的重复选项

        本文链接:https://www.haomeiwen.com/subject/ephutktx.html