LeetCode第二十六题-删除数组重复元素

Remove Duplicates from Sorted Array

问题简介:给定一个有序的数组,删除数组中的重复元素,返回的是不重复元素的个数n,传入的数组nums的前n个值应变为不重复元素

举例:

1:

给定的数组 = [1,1,2],

返回长度n = 2,并且nums前两个值为[1,2]

2:

给定数组 = [0,0,1,1,1,2,2,3,3,4],

返回长度n = 5, 并且nums的前5个值为[0,1,2,3,4]

解法一:

笨重的解法。。。通过set元素不重复将nums值传入set,再对nums赋值

解法二:

定义两个变量,i,j,遍历数组,i用来表示不重复的数字索引,j为当前遍历到的索引,当nums[i] != nums[j] 即表示不重复,将记录不重复的值,i的索引加1

复杂度分析:

时间复杂度 : O(n)遍历一遍

空间复杂度:O(1) 定义的空间为定值

Space complexity : O(1)O(1).

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

猜你喜欢

转载自www.cnblogs.com/lalalaczq/p/10799099.html