LintCode Python 简单级题目 100.删除排序数组中的重复数字 101.删除排序数组中的重复数字II

题目100描述:

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。

不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。

样例

给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]

标签 
 

题目101描述:

跟进“删除重复数字”:

如果可以允许出现两次重复将如何处理?

 

样例
 

题目分析:

源码:

class Solution:
    """
    @param A: a list of integers
    @return an integer
    """
    def removeDuplicates(self, A):
        # write your code here
        i = 0
        while i < len(A)-1:
            if A[i] == A[i+1]:
                A.remove(A[i])
            else:
                i += 1
        return len(A)

 

class Solution:
    """
    @param A: a list of integers
    @return an integer
    """
    def removeDuplicates(self, A):
        # write your code here
        i = 0
        while i < len(A)-2:
            if A[i] == A[i+2]:
                A.remove(A[i])
            else:
                i += 1
        return len(A)

  

posted @ 2017-06-07 11:50  刘冬丶  阅读(3993)  评论(0编辑  收藏  举报