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()

相关推荐
YGGP2 分钟前
【Golang】LeetCode 239. 滑动窗口最大值
算法·leetcode·职场和发展
Swift社区3 分钟前
LeetCode 389 找不同 - Swift 题解
算法·leetcode·swift
徐同保8 小时前
python异步函数语法解析,async with ... as ...语法解析
数据库·python·oracle
m***06689 小时前
SpringBoot项目中读取resource目录下的文件(六种方法)
spring boot·python·pycharm
eWidget9 小时前
数据可视化进阶:Seaborn 柱状图、散点图与相关性分析
数据库·python·信息可视化·kingbase·数据库平替用金仓·金仓数据库
清水白石00810 小时前
Python 柯里化完全指南:从函数式思想到工程实践
linux·服务器·python
滴滴答滴答答10 小时前
LeetCode Hot100 之 16 合并两个有序链表
算法·leetcode·链表
圣保罗的大教堂11 小时前
leetcode 3713. 最长的平衡子串 I 中等
leetcode
myzzb11 小时前
纯python 最快png转换RGB截图方案 ——deepseek
开发语言·python·学习·开源·开发