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


Posted in Python onJanuary 31, 2019

本文实例讲述了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

Python 相关文章推荐
Python自动化构建工具scons使用入门笔记
Mar 10 Python
详解python的数字类型变量与其方法
Nov 20 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
Nov 16 Python
PyCharm设置SSH远程调试的方法
Jul 17 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
详解使用python绘制混淆矩阵(confusion_matrix)
Jul 14 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
Win10里python3创建虚拟环境的步骤
Jan 31 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 Python
Python gevent协程切换实现详解
Sep 14 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
对python判断ip是否可达的实例详解
Jan 31 #Python
对python:threading.Thread类的使用方法详解
Jan 31 #Python
python实现一个简单的ping工具方法
Jan 31 #Python
Python获取网段内ping通IP的方法
Jan 31 #Python
Python实现删除排序数组中重复项的两种方法示例
Jan 31 #Python
python重试装饰器的简单实现方法
Jan 31 #Python
Python实现合并两个有序链表的方法示例
Jan 31 #Python
You might like
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
教你学会使用Python正则表达式
2017/09/07 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
python 变量初始化空列表的例子
2019/11/28 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
护士求职推荐信范文
2013/11/23 职场文书
业务员岗位职责范本
2013/12/15 职场文书
大学生学习自我评价
2014/01/13 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
大学生活动总结模板
2014/07/02 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
2015年检验科工作总结
2015/04/27 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB