美文网首页
Codility 4.4 MissingInteger

Codility 4.4 MissingInteger

作者: 波洛的汽车电子世界 | 来源:发表于2019-08-04 22:01 被阅读0次
    This is a demo task.
    
    Write a function:
    
    def solution(A)
    
    that, given an array A of N integers, returns the smallest positive integer (greater than 0) that does not occur in A.
    
    For example, given A = [1, 3, 6, 4, 1, 2], the function should return 5.
    
    Given A = [1, 2, 3], the function should return 4.
    
    Given A = [−1, −3], the function should return 1.
    
    Write an efficient algorithm for the following assumptions:
    
    N is an integer within the range [1..100,000];
    each element of array A is an integer within the range [−1,000,000..1,000,000].
    

    这里只考虑前N+1个数,因为缺失的值肯定小于等于N+1。注意不要先用sort(),时间复杂度会增加啊~

    def solution(A):
        # write your code in Python 3.6
    
        l = [0]*(len(A)+1)
        for i in A:
            if 1<=i<=len(A)+1:
                l[i-1] =1
        for i in range(len(A)+1):
            if l[i]==0:
                return i+1
    

    相关文章

      网友评论

          本文标题:Codility 4.4 MissingInteger

          本文链接:https://www.haomeiwen.com/subject/eyludctx.html