LeetCode 26 删除排序数组中的重复项 (Python实现的两种方法)

#方法一
 [1,1,2,2,3,3,4,5,6,6] 为例子
第一步:比较1 ,1  相同  i=0 不变  nums[1,1,2,2,3,3,4,5,6,6]
第二步:比较1 ,2  不同  nums[1]=2 nums[1,2,2,2,3,3,4,5,6,6]
第三步:比较2 ,2  相同  i=1 不变  nums[1,2,2,2,3,3,4,5,6,6]
第四步:比较2 ,3 不相同 i=2 nums[2]=3  nums[1,2,3,2,3,3,4,5,6,6]
以此类推:
第5步 3,3  i=2 nums[1,2,3,2,3,3,4,5,6,6]
第6步  3,4 i=3 nums[1,2,3,4,3,3,4,5,6,6]
第7步  4,5 i=4 nums[1,2,3,4,5,3,4,5,6,6]
第8步 5,6 i=5 nums[1,2,3,4,5,6,4,5,6,6]
第9步 6,6 i=5 nums[1,2,3,4,5,6,4,5,6,6]

#方法二
Python中的set方法 去重



具体实现:
def removeDuplicates(nums):
    i = 0
    for j in range(len(nums) - 1):
        if nums[j] != nums[j + 1]:
            nums[i + 1] = nums[j + 1]
            i = i + 1
    #print(nums)
    #print(nums[i + 1:])
    del nums[i + 1:]
    print(nums)
    print(len(nums))
if __name__ :
    num=[1,1,2,2,3,3,4,5,6,6]
    #方法一
    removeDuplicates(num)
    #方法二 使用set方法
    print(list(set(num)))
    print(len(list(set(num))))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值