首页 > 试题广场 >

删除有序数组中重复的元素 ii

[编程题]删除有序数组中重复的元素 ii
  • 热度指数:13015 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个有序数组,删除其中部分元素,使得剩下的每个数最多出现2次。要求删除的数的数量尽可能少。

例如:
给出有序数组 A =[1,1,1,2,2,3],
你给出的函数应该返回length =5,  A 变为[1,1,2,2,3].

#
# 
# @param A int整型一维数组 
# @return int
#
class Solution:
    def removeDuplicates(self , A ):
        # write code here
        n=len(A)
        if n<2:
            return n
        s=2
        for i in range(2,n):
            if A[i]!=A[s-2]:
                A[s]=A[i]
                s+=1
        return s
其中s表示实际列表中元素重复次数不超过两个的时候的元素的个数
发表于 2020-08-24 11:08:21 回复(0)