【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)
相关推荐
猿究院_夏燊7 小时前
SpringMVC 到底是怎么干活的?
java·网络·职场和发展
UIU1147 小时前
P1003 [NOIP 2011 提高组] 铺地毯
数据结构·c++·算法
爱读书的小胖7 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
员工风险治理专家黄海波8 小时前
商业利益冲突预防性内控与职责分离如何减少主观偏差
职场和发展
垆边人似月.8 小时前
删边使每个连通块权值和为 target
算法·深度优先·图论
xxwl5859 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
xxwl5859 小时前
第六章---计算几何
笔记·学习·算法
Logic10110 小时前
C语言/数据结构二维数组题解:找出行列O个数均为偶数的格子——奇偶性预处理+二次遍历
c语言·数据结构·算法·二维数组·时间复杂度·动态内存分配·奇偶性
程序猿阿森10 小时前
【机器学习实战】朴素贝叶斯算法详解:从概率基础到商品评论情感分析
算法·机器学习·概率论