Remove Duplicates from Sorted Array II

时间:2022-05-25 13:34:46

题目简述

Follow up for "Remove Duplicates":

What if duplicates are allowed at most twice?

For example,

Given sorted array nums = [1,1,1,2,2,3],

Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.

解题思路

class Solution(object):
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
d = {}
l = len(nums)
if l < 2:
return l
i = 0
while True:
if i >= l:
break
if nums[i] not in d:
d[nums[i]] = 1
else:
d[nums[i]] += 1
if d[nums[i]] > 2:
nums.remove(nums[i])
l -= 1
continue
i += 1 return l