【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)
相关推荐
在下赵某人15 小时前
概率数据结构的设计原理与误差分析
数据结构·算法·哈希算法
CoderYanger15 小时前
递归、搜索与回溯-综合练习:19.目标和
java·算法·leetcode·1024程序员节
mit6.82415 小时前
dfs|mask^翻转
算法
kk哥889915 小时前
如何在面试中展现自己的软实力?
面试·职场和发展·cocoa
SKYDROID云卓小助手15 小时前
三轴云台之控制协同技术
服务器·网络·图像处理·人工智能·算法
The Last.H15 小时前
Educational Codeforces Round 185 (Rated for Div. 2)A-C
c语言·c++·算法
fengfuyao98516 小时前
匈牙利算法的MATLAB实现
java·算法·matlab
路过君_P16 小时前
C++ 算法题解:迷宫寻路
c++·算法·深度优先
罗湖老棍子16 小时前
二维vector完全指南1:从定义到增删改查
数据结构·c++·算法·stl
再卷也是菜16 小时前
C++篇(22)LRU Cache
数据结构·c++·算法