# 【leetcode】【40%】【M】Remove Duplicates from Sorted Array II

244人阅读 评论(0)

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 1122 and 3. It doesn't matter what you leave beyond the new length.

Subscribe to see which companies asked this question

class Solution(object):
def removeDuplicates(self, nums):

l = len(nums)
if l <= 2:
return l
index = 0
i = 0
while i<l:
if i+1<l and nums[i] != nums[i + 1]:
nums[index] = nums[i]
index += 1
i += 1
continue
elif i+1 == l:
nums[index] = nums[i]
index += 1
return index
else:
temp = nums[i]
if index >= l-1:
nums[index] = temp
return l
else:
nums[index],nums[index+1] = temp,temp
i += 2
index += 2
if index > l-1:
return l
while i < l and nums[i] == temp:
i += 1

#print index,i,nums
#print nums
return index

"""
:type nums: List[int]
:rtype: int
"""



0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：64436次
• 积分：2431
• 等级：
• 排名：第15237名
• 原创：187篇
• 转载：4篇
• 译文：0篇
• 评论：9条
阅读排行
最新评论