【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)
相关推荐
Keven_1128 分钟前
算法札记:SPFA判负环算法的证明
算法
什巳30 分钟前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
Jerry1 小时前
LeetCode 347. 前 K 个高频元素
算法
Young Doro1 小时前
SAC 算法
线性代数·算法·机器学习
罗超驿1 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
:-)2 小时前
算法-堆排序
数据结构·算法·排序算法
星马梦缘3 小时前
算法设计 期末复习笔记
算法·动态规划·二分图·最小生成树·线性规划·最大流
我命由我123453 小时前
复利极简理解
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法