【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 小时前
递归与迭代的形式实现
算法·动态规划
春日见7 小时前
自动驾驶数据驱动规控进化之路
运维·服务器·人工智能·深度学习·算法·机器学习·自动驾驶
普贤莲花7 小时前
【【2026年第22周---写于20260531】---好好工作,好好生活】
程序人生·算法·leetcode·生活
Bingorl7 小时前
机器学习之聚类算法
算法·机器学习·聚类
小欣加油7 小时前
leetcode2126 摧毁小行星
数据结构·c++·算法·leetcode·职场和发展
菜菜的顾清寒7 小时前
力扣HOT100(45) 二叉树的直径
算法·leetcode·职场和发展
_Oracle7 小时前
机器学习——常见算法
人工智能·算法·机器学习
x_xbx7 小时前
LeetCode:17. 电话号码的字母组合
算法·leetcode·职场和发展
山楂树の7 小时前
广度优先搜索 (BFS)
算法·广度优先·宽度优先
say_fall7 小时前
深入理解Linux内核进程调度:从基础概念到O(1)调度算法
linux·运维·服务器·算法·计算机组成