【LeetCode】80.删除有序数组中的重复项II

1. 题目


2. 分析

3. 代码

python 复制代码
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if len(nums) < 3:
            return len(nums)
        
        i = 0
        j = 1
        k = 2
        while(k < len(nums)):
            if (nums[i] == nums[j]):
                while(k < len(nums) and nums[j] == nums[k] ):
                    k+=1
                if (k < len(nums)):
                    j+=1                
                    i+=1
                    nums[j] = nums[k]
                    k+=1                    
            else:
                j+=1
                i+=1
                nums[j] = nums[k]
                k+=1
        return j+1
相关推荐
BUG收容所所长1 小时前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
XRZaaa1 小时前
常见排序算法详解与C语言实现
c语言·算法·排序算法
@我漫长的孤独流浪1 小时前
数据结构测试模拟题(4)
数据结构·c++·算法
智驱力人工智能1 小时前
智慧零售管理中的客流统计与属性分析
人工智能·算法·边缘计算·零售·智慧零售·聚众识别·人员计数
WindSearcher2 小时前
大模型微调相关知识
后端·算法
取酒鱼食--【余九】2 小时前
rl_sar实现sim2real的整体思路
人工智能·笔记·算法·rl_sar
Magnum Lehar4 小时前
vulkan游戏引擎test_manager实现
java·算法·游戏引擎
水蓝烟雨4 小时前
[面试精选] 0094. 二叉树的中序遍历
算法·面试精选
超闻逸事4 小时前
【题解】[UTPC2024] C.Card Deck
c++·算法
暴力求解5 小时前
C++类和对象(上)
开发语言·c++·算法