这题第一个方法就是采用counter这个python自带的高级语法来解决了,简单。代码如下:
from collections import Counter
a = Counter(nums)
for i in a.keys():
if a[i] > 2:
for j in range(a[i] - 2):
nums.remove(i)
return len(nums)自然也可以采用文章推荐的方法。class Solution(object):
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if nums == []:
return 0
if len(nums) < 3:
return len(nums)
prev = nums[-1]
p = 2
for i in range(2,len(nums))[::-1]:
# print i - 2
if prev == nums[i - 2]:
# print nums[i - 2]
del nums[i - 2]
# print nums
continue
p = p + 1
prev = nums[i - 1]
# print nums
return p可惜不会删除的好方法。。。所以时间上还是拖的有点多
本文介绍了一种使用Python的Counter类去除列表中重复元素的方法,并提供了一个解决方案类,该类能够处理列表中的重复项,保留每个元素最多两次出现的情况。
2420

被折叠的 条评论
为什么被折叠?



