Python3删除排序数组中重复项的方法分析

作者:lqy007700 时间:2023-02-16 19:17:50 

本文实例讲述了Python3删除排序数组中重复项的方法。分享给大家供大家参考,具体如下:

给定一个排序数组,你需要在[原地]删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在[原地]修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定数组 nums = [1,1,2],

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

你不需要考虑数组中超出新长度后面的元素。

示例 2:

给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。

你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:


// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);
// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
 print(nums[i]);
}

代码主体:


# -*- coding:utf-8 -*-
#! python3
class Solution(object):
 def removeDuplicates(self, nums):
   """
   :param nums:
   :return:
   """
   i = 0
   while i < len(nums) - 1:
     if nums[i] == nums[i+1]:
       nums.remove(nums[i])
     else:
       i = i + 1
   return len(nums)
if __name__ == '__main__':
 a = Solution()
 count = a.removeDuplicates([1, 2, 2, 2, 2, 3])
 print(count)

运行结果:

3

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线去除重复项工具:
http://tools.jb51.net/code/quchong

在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong

希望本文所述对大家Python程序设计有所帮助。

来源:https://www.jianshu.com/p/965bbfa875e4

标签:Python3,排序数组,重复项
0
投稿

猜你喜欢

  • python3.6数独问题的解决

    2022-06-21 20:40:32
  • 详解Python中expandtabs()方法的使用

    2023-10-11 06:09:27
  • .NET Framework SQL Server 数据提供程序连接池

    2024-01-27 05:05:23
  • Go语言的数据结构转JSON

    2024-04-25 15:04:23
  • 用Python的SimPy库简化复杂的编程模型的介绍

    2023-06-19 16:55:45
  • echarts柱状堆叠图实现示例(图例和x轴都是动态的)

    2024-04-29 13:21:03
  • django的模型类管理器——数据库操作的封装详解

    2024-01-12 19:12:53
  • 一个jquery日期选取插件源码

    2009-12-23 19:15:00
  • Python处理字符串的常用函数实例总结

    2022-10-19 21:09:39
  • python中defaultdict用法实例详解

    2022-08-09 17:01:10
  • RichTextBox 显示图片和word的代码

    2023-06-28 18:27:12
  • 如何区分SQL数据库中的主键与外键

    2024-01-21 09:42:13
  • python机器学习理论与实战(六)支持向量机

    2023-10-18 22:59:53
  • 关于python 的legend图例,参数使用说明

    2022-07-21 10:10:13
  • VUE+elementui面包屑实现动态路由详解

    2024-05-02 17:11:47
  • Python爬虫实战之用selenium爬取某旅游网站

    2021-03-25 10:28:36
  • python+selenium对table表和分页处理

    2024-01-04 02:16:18
  • python处理图片之PIL模块简单使用方法

    2023-06-25 21:42:05
  • Pygame Font模块使用教程

    2021-06-17 15:23:44
  • 浅谈一下python线程池简单应用

    2023-08-27 10:48:37
  • asp之家 网络编程 m.aspxhome.com