删除数组中指定元素_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赋值

46bb031fb2e8f4e06fb798f20b760dc3.png

解法二:

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

a86198d145effe8e7e4ed2c8b1b7aacc.png

复杂度分析:

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

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

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

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

63db0b0487f8148a8b5064cafd38de0c.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值