Codility 4.4 MissingInteger

2019-08-04  本文已影响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
上一篇 下一篇

猜你喜欢

热点阅读