LintCode_chapter2_section6_first-missing-positive

# coding = utf-8
'''
Created on 2015年11月9日

@author: SphinxW
'''
# 丢失的第一个正整数
#
# 给出一个无序的正数数组,找出其中没有出现的最小正整数。
# 样例
#
# 如果给出 [1,2,0], return 3 如果给出 [3,4,-1,1], return 2
# 挑战
#
# 只允许时间复杂度O(n)的算法,并且只能使用常数级别的空间。


class Solution:
    # @param A, a list of integers
    # @return an integer

    def firstMissingPositive(self, A):
        # write your code here
        A.append(0)
        length = len(A)
        B = [0 for i in A]
        for index in range(length):
            thisNum = A[index]
            if thisNum >= length or thisNum < 0:
                pass
            else:
                B[thisNum] = thisNum
        print(A)
        for index in range(1, length):
            if B[index] == index:
                pass
            else:
                return index
        return length

你可能感兴趣的:(LintCode_chapter2_section6_first-missing-positive)