Python3删除排序数组中重复项的方法分析
作者:lqy007700 发布时间:2023-02-16 19:17:50
标签:Python3,排序数组,重复项
本文实例讲述了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
0
投稿
猜你喜欢
- 一、类的构造函数与析构函数_init__ 函数是python 类的构造函数,在创建一个类对象的时候,就会自动调用该函数;可以用来在创建对象的
- 文 | 闲欢来源:Python 技术「ID: pythonall」今天在浏览知乎时,发现一个有趣的问题:如何优化 Python 爬
- 又从 James Padolsey 这里得到个好的点子。在实际写脚本过程中可能有段 Javascript 和 HTML 非常相关(比如实例化
- 本文实例讲述了Python3爬虫学习之将爬取的信息保存到本地的方法。分享给大家供大家参考,具体如下:将爬取的信息存储到本地之前我们都是将爬取
- jupyter notebook使用matlab以下方法前提是已经安装了matlab程序,如果没有请安装后再执行以下步骤1.MATALB安装
- <html xmlns="http://www.w3.org/1999/xhtml"> <head&g
- 前言如何从图像中提取特征?第一次听说“特征提取”一词是在 YouTube 上的机器学习视频教程中,它
- DATAFRAME中使用iat[1,0]和iloc[0,1]对元素进行修改。a = [("hahaha",1),(&qu
- pyyaml模块在python中用于处理yaml格式数据,主要使用yaml.safe_dump()、yaml.safe_load()函数将p
- 注意:if语句代码是从上往下执行的,当执行到满足条件的语句时,代码会停止往下执行注意:if语句后面要加上冒号score = int (inp
- asyncio在Python 2的时代,高性能的网络编程主要是使用Twisted、Tornado和Gevent这三个库,但是它们的异步代码相
- tkinter的锚点(anchor)问题tkinter中anchor参数(注意,参数的英文都是小写)字母方位n北s南w西e东center中心
- 本文实例讲述了javascript实现多栏闭合展开式广告位菜单效果。分享给大家供大家参考。具体如下:从操作方式上来说,有似曾相识的感觉,有点
- 前言python中图像处理相关库有很多,这里简单介绍PIL、cv2、scipy.imageio 、matplotlib.image、skim
- 最近的项目需要根据用户所属时区制定一些特定策略,学习、应用了若干python3的时区转换相关知识,这里整理一部分记录下来。下面涉及的几个概念
- 本文实例为大家分享了vue实现列表倒计时的具体代码,供大家参考,具体内容如下如图10分钟倒计时在做项目的时候遇到vue列表要用到倒计时的方法
- 代码import osfrom PIL import Imageimport tkinterimport tkinter.filedialo
- Python2.7还是一个比较稳定的版本,目前80%以上的公司都在使用python2.7的版本。他不会在安装的时候报编码错误之类的问题。但是
- 因为项目需要数据验证,看bootstrapValidator 还不错,就上手一直,完美兼容,话不多说。bootstrap:能够增加兼容性的强
- numpy对数组求平均时忽略nan值在对numpy数组求平均np.mean()或者求数组中最大最小值np.max()/np.min()时,如