首页 > 编程语言> > Leetcode练习(Python):数组类:第80题:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改
Leetcode练习(Python):数组类:第80题:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改
作者:互联网
题目:
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
思路:
思路较简单
程序:
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
length = len(nums)
if length <= 2:
return len(nums)
counter = 0
index = 1
while index < len(nums):
if nums[index - 1] == nums[index]:
counter += 1
if counter >= 2:
del nums[index]
index = index - 1
else:
counter = 0
index += 1
return len(nums)
标签:index,额外,nums,元素,原地,数组 来源: https://www.cnblogs.com/zhuozige/p/12761277.html