【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)
相关推荐
宇木灵11 分钟前
C语言基础-九、动态内存分配
c语言·开发语言·学习·算法
追随者永远是胜利者16 分钟前
(LeetCode-Hot100)301. 删除无效的括号
java·算法·leetcode·职场和发展·go
追随者永远是胜利者20 分钟前
(LeetCode-Hot100)239. 滑动窗口最大值
java·算法·leetcode·职场和发展·go
im_AMBER23 分钟前
Leetcode 126 两数之和 II - 输入有序数组 | 盛最多水的容器
数据结构·学习·算法·leetcode
lxl130733 分钟前
C++算法(5)位运算
java·c++·算法
tankeven33 分钟前
HJ96 表示数字
c++·算法
嵌入式×边缘AI:打怪升级日志36 分钟前
C语言算术赋值运算复习笔记
c语言·stm32·单片机·算法·51单片机·proteus·代码
lxl130739 分钟前
C++算法(4)前缀和
开发语言·c++·算法
不想看见4041 小时前
Minimum Path Sum 基本动态规划:二维--力扣101算法题解笔记
算法·leetcode·动态规划
啊阿狸不会拉杆1 小时前
《计算机视觉:模型、学习和推理》第 7 章-复杂数据密度建模
人工智能·python·学习·算法·计算机视觉·t分布·复杂数据密度建模