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

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

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

问题描述:

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

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

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

解题思路:

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

代码

 

 

  1. class Solution(object): 
  2.     def removeDuplicates(self, nums): 
  3.         ""
  4.         :type nums: List[int
  5.         :rtype: int 
  6.         ""
  7.         i = 0 
  8.         while( i<len(nums) ): 
  9.             if i+2 <= len(nums): 
  10.                 #第i+1+1个元素不为空 
  11.                 if nums[i] == nums[i+1]: 
  12.                     nums.remove(nums[i]) 
  13.                     i -= 1 
  14.             else
  15.                 return len(nums) 
  16.             i += 1 

 

 

责任编辑:庞桂玉 来源: 马哥Linux运维
相关推荐

2009-09-23 09:09:22

C#删除数组重复项

2014-08-29 09:56:47

排序数组编程技巧

2012-01-12 13:24:55

Java

2021-08-26 05:08:25

相邻重复项算法

2021-01-14 08:23:15

LeetCode变量

2009-11-25 16:40:55

PHP函数array_

2010-09-01 16:47:18

SQL删除

2021-04-29 21:06:49

有序数组算法

2021-10-18 11:29:48

奇偶排序数组数据结构算法

2010-11-19 15:09:44

oracle服务项

2020-05-12 10:32:25

Python列表重复

2021-11-30 10:00:01

SQL数据重复

2021-11-02 14:54:41

排序数组元素

2009-06-30 14:01:00

Java集合框架Java数组排序

2021-12-13 11:31:36

排序数组数据结构算法

2013-03-06 09:41:29

2011-05-24 14:13:20

Oracle数据库

2022-03-01 07:52:38

链表指针节点

2009-04-20 15:54:04

SQL Server重复行

2022-09-21 08:38:40

归并排序C++Python
点赞
收藏

51CTO技术栈公众号