【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
相关推荐
Code_Solitude27 分钟前
c语言:二分法的完整补充
c语言·开发语言·算法
一切皆是因缘际会28 分钟前
掌控信息论:同源星际通信基础理论
人工智能·算法·ai
动词ing3 小时前
【C语言题目练习】算法 整数反转
c语言·开发语言·算法
Nil2083 小时前
leetcode 55跳跃游戏
算法·leetcode·游戏
longlongzihan3 小时前
LeetCode 128. 最长连续序列 —— 从排序到哈希集合
数据结构·c++·算法·leetcode·排序算法·哈希表
mmmmath_33 小时前
二叉树の一些知识
数据结构·算法
DongQiShanRen3 小时前
裁决台账双向互校(下):台账哈希链、三向对账与最小落地
人工智能·深度学习·算法·目标跟踪·自然语言处理·rust·哈希算法
SWAGGY..3 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
-dzk-3 小时前
【技巧】LC 31.下一个排列
算法
(Charon)4 小时前
【C++面试】迭代器失效是什么?vector、list、map中如何避免迭代器失效
c++·算法·面试