leetcode 26. 删除有序数组中的重复项



解题思路:

使用list.count方法判断值是否重复,重复,则使用list.index方法找到重复值下标,使用list.pop方法删除对应的值,每删一个重复值,对应值重复次数-1

代码

python 复制代码
class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        t = len(nums)
        if t ==1:
            print(1)
            print(nums)
        elif t ==0:
            print(0)
            print([])
        else:
            for i in range(t-1):
                #加上if i<t-1,否则会报错
                if i<t-1:
                    count1 = nums.count(nums[i])
                while count1>1:
                    position=nums.index(nums[i],i+1)
                    nums.pop(position) 
                    count1-=1
                t = len(nums)
            print(t)
            print(nums)

ps:若无改变原列表要求,可以使用集合来去重 list(set(列表))或者增加一个列表,新的列表装无重复数据:依次从原列表区数据,判断新列表是否有对应数据,无则将数据添加至新列表,若使用pop()取出,记得倒置 reverse()

相关推荐
Swift社区18 小时前
LeetCode 378 - 有序矩阵中第 K 小的元素
算法·leetcode·矩阵
阿拉丁的梦18 小时前
【maxscript】矩阵对齐-武器残影
python·3dsmax
mortimer18 小时前
Python 异常处理进阶:从 `traceback` 细节到稳健的多语言处理器
python
墨染点香18 小时前
LeetCode 刷题【73. 矩阵置零】
算法·leetcode·矩阵
林木辛18 小时前
LeetCode热题 438.找到字符中所有字母异位词 (滑动窗口)
算法·leetcode
和鲸社区18 小时前
四大经典案例,入门AI算法应用,含分类、回归与特征工程|2025人工智能实训季初阶赛
人工智能·python·深度学习·算法·机器学习·分类·回归
dragoooon3419 小时前
[优选算法专题二——NO.16最小覆盖子串]
c++·算法·leetcode·学习方法
piaopiaolanghua19 小时前
PyCharm旧版本下载地址
ide·python·pycharm
云天徽上19 小时前
【数据可视化-111】93大阅兵后的军费开支情况———2024年全球军费开支分析:用Python和Pyecharts打造炫酷可视化大屏
开发语言·python·信息可视化·pyecharts