题目:给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
code:
def removeDuplicates(self, A):
# write your code here
if len(A) == 0:
return len(A)
counter = {}
for item in A:
if item in counter:
counter[item] += 1
else:
counter[item] = 1
keys = list(counter.keys())
keys.sort()
del A[:]
A.extend(keys)
return len(A)
结题思路:
用dictionary来做,因为dic的key是不能重复的,下一个会冲掉上一个!