Python语言描述,已经通过。
思路:
- min_num是缺失的最小正整数最开始设为1。
- 每次遍历数组,用数组里的数去减min_num,如果差为0结束for循环,证明数组里有min_num,min_num加1。
- 如果遍历之后差tmp始终不为零,证明此min_num是最小的未出现正整数,return min_num,结束程序。
class Solution(object):
def firstMissingPositive(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums)==0:
return 1
min_num = 1
tmp = 0
while min_num:
for n in nums:
tmp = n-min_num
if tmp==0:
break
if tmp!=0:
return min_num
min_num+=1