使用Python删除排序数组中的重复项

来源:千锋教育
发布时间:2023-11-06 04:47:17
分享

问题描述:

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

不要使用额外的数组空间,你必须在原地修改输入数组并在使用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。

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

解题思路:

遍历列表,如果与当前元素与下一个相同则删除掉此元素

代码:

classSolution(object):

defremoveDuplicates(self,nums):

"""

:typenums:List[int]

:rtype:int

"""

i=0

while(i

ifi+2<=len(nums):

#第i+1+1个元素不为空

ifnums[i]==nums[i+1]:

nums.remove(nums[i])

i-=1

else:

returnlen(nums)

i+=1

以上内容为大家介绍了使用Python删除排序数组中的重复项,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。https://www.mobiletrain.org/

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python编程中的反模式 python是时下最热门的编程语言之一了。简洁而富有表达力的语法,两三行代码往往就能解决十来行C代码才能解决的问题;丰富的标准库和第三方库,大大节约了开发时间,使它成为那些对性能没有严苛要求的开发任务
  • Python单元测试经验总结 python写单元大多数都会用到unittest和mock,测试代码覆盖率都会用到coverage,最后再用nose把所有的东西都串起来,这样每次出版本,都能把整个项目的单元测试都运行一遍。Unitt
  • Python fabric远程自动部署简介 Fabric是一个Python(2.5-2.7)库,用于简化使用SSH的应用程序部署或系统管理任务。它提供的操作包括:执行本地或远程shell命令,上传/下载文件,以及其他辅助功能,如提示用户输入、中
  • 使用Python总结文本文章 文本摘要涉及减少文本中的单词数量,同时保持其意义。它提高了效率,减少了阅读多篇文章的时间。本文我们将演示如何使用Python实现文本摘要自动化。阅读文章中的所有文字并提取摘要是一项耗时而乏味的工作。幸
  • Python的英语搭配助手应用开发研究 基于Python自带的GUI工具包Tkinter来实现窗口视窗设计。选用Python语言的理由在于其语法简单,跨平台、内嵌大量模块,支持众多第三方包,大大降低了编程的难度,同时Python语言最为接近
  • Python在智能化运维中的运用 在传统信息化运维系统当中,最核心的组成部分主要包括系统运行监控、呼叫中心、运维团队等等,在过去这些核心组成部分是可以有效地完成信息系统的监控与维护需求的,可是在科学技术飞速创新与升级的影响之下,信息量