1.3 面试经典150题 - 删除有序数组中的重复项

删除有序数组中的重复项

python 复制代码
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        # 处理边界数据
        if not nums: return 0
        if len(nums) == 1: return 1
        # 两个指针,一个记录当前有多少个不重复值的个数,一个记录最新遍历到的值
        count = 1
        tmp = nums[0]
        for i in range(1, len(nums)):
            if nums[i] == tmp:
                continue
            # 遍历到新的值时,更新指针
            tmp = nums[i]
            nums[count] = tmp
            count += 1
        # 切分原数据,并返回结果
        nums = nums[:count]
        return count

删除有序数组中的重复项 II

针对上面的解答,略加改造

python 复制代码
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        # 处理边界数据
        if not nums: return 0
        if len(nums) == 1: return 1
        # 三个指针,一个记录当前数组中应该有的值的个数,一个记录最新遍历到的值,一个记录重复次数
        count = 1
        tmp = nums[0]
        tmp_count = 1
        for i in range(1, len(nums)):
            if nums[i] == tmp:
                # 增加重复次数计数
                tmp_count += 1
                if tmp_count > 2:
                    # 超过2次时,不记录在数组了
                    continue
            else:
                # 更新值和重复次数
                tmp = nums[i]
                tmp_count = 1
            # 更新数组的值,并更新值个数的指针
            nums[count] = tmp
            count += 1
        # 切分原数据,并返回结果
        nums = nums[:count]
        return count
相关推荐
搏博10 分钟前
基于Python3.10.6与jieba库的中文分词模型接口在Windows Server 2022上的实现与部署教程
windows·python·自然语言处理·flask·中文分词
lxmyzzs1 小时前
pyqt5无法显示opencv绘制文本和掩码信息
python·qt·opencv
萧鼎2 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
yujkss3 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910133 小时前
小程序开发APP
开发语言·人工智能·python·yolo
飞翔的佩奇3 小时前
【完整源码+数据集+部署教程】二维码与查找模式检测系统源码和数据集:改进yolo11-CSwinTransformer
python·yolo·计算机视觉·数据集·yolo11·二维码与查找模式检测
大霞上仙4 小时前
实现自学习系统,输入excel文件,能学习后进行相应回答
python·学习·excel
Caven774 小时前
【pytorch】reshape的使用
pytorch·python
无规则ai4 小时前
动手学深度学习(pytorch版):第四章节—多层感知机(5)权重衰减
人工智能·pytorch·python·深度学习
你知道网上冲浪吗5 小时前
【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架
python·算法·数学建模·数值分析