# 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