塞进裤子ヾ(≧O≦)〃嗷~

0%

leetcode-26删除排序数组中的重复项

最初想法:
注意:有序数组,不能用额外的数组空间,只能用O(1)的额外空间。
从头遍历,相同就将后面的元素向前移动,这样很耗时,肯定有更好的方法。

从第二个元素遍历,记录不同元素个数mycount,将下一个不同元素保存到此位置,去除剩余的元素。

1
2
3
4
5
6
7
8
def removeDuplicates(self, nums):
mycount = 0
for i in range(1,len(nums)):
if nums [i] != nums[mycount]:
mycount += 1
nums[mycount] = nums[i]

return mycount+1

改进:
竟然跟官方题解一样,还以为有更好的。

半年后再来做,竟然整不出来了

if help:小手一抖点个广告 or 大手一挥资助一下