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

相关推荐
在风中的意志9 分钟前
[数据库SQL] [leetcode-584] 584. 寻找用户推荐人
数据库·sql·leetcode
毅炼13 分钟前
hot100打卡——day08
java·数据结构·算法·leetcode·深度优先
AI手记叨叨26 分钟前
Python数学:几何运算
python·数学·解析几何·射影几何·微分几何·欧几里得几何
toolhow1 小时前
SelfAttenion自注意力机制
pytorch·python·深度学习
智航GIS1 小时前
6.2 while循环
java·前端·python
qq_336313931 小时前
java基础-IO流(转换流)
java·开发语言·python
Stestack1 小时前
ssh批量机器免密操作
linux·python·ssh
a程序小傲1 小时前
得物Java面试被问:反射机制的原理和应用场景
java·python·面试
于越海1 小时前
学习小项目:用 Python 自动统计编程课绩点(5.0 制|百分制直算|重修取最高)
开发语言·笔记·python·学习·学习方法
xingzhemengyou11 小时前
Python GUI中常用的after
开发语言·python