不正经IT从业者

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

2020-06-10  本文已影响0人  Mark_大东

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

难度:简单

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

第一种方法

时间复杂度: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
};

数据结构与算法:

上一篇下一篇

猜你喜欢

热点阅读