美文网首页不正经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