【LeetCode】删除排序数组中的重复项 II

题目

链接

思路

双指针

我好聪明啊,自己想出了这个双指针的办法,哈哈哈哈哈哈哈,太高兴了

代码

python 复制代码
class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        n=len(nums)
        if n<=1:
            return n

        left,right=0,0
        repeat={}
        while right<n:
            x=nums[right]
            if x not in repeat:
                repeat[x]=1
            else:
                repeat[x]+=1

            if repeat[x]<=2:
                nums[left]=x
                left+=1

            right+=1

        return left


solution=Solution()
input_content=[0,0,1,1,1,1,2,3,3]
ans=solution.removeDuplicates(input_content)
print(ans)
相关推荐
进击的小头4 分钟前
一阶IIR低通滤波器:从原理到嵌入式实战
c语言·算法
2301_8112329817 分钟前
C++中的契约编程
开发语言·c++·算法
2401_8290040218 分钟前
C++中的访问者模式
开发语言·c++·算法
青槿吖25 分钟前
第二篇:JDBC进阶骚操作:防注入、事务回滚、连接池优化,一篇封神
java·开发语言·jvm·算法·自动化
sin_hielo25 分钟前
leetcode 1984
数据结构·算法·leetcode
古城小栈42 分钟前
开发常用 宏
算法·rust
m0_7482486542 分钟前
C语言向C++过渡
c语言·c++·算法
qq_423233901 小时前
跨语言调用C++接口
开发语言·c++·算法