描述
给出一个无序的数列,找出其中缺失的第一个正数,要求复杂度为 O(n)
如:[1,2,0],第一个缺失为3。
如:[3,4,-1,1],第一个缺失为2。
输入
1,2,0
输出
3
输入样例
1,2,0↵ 3,4,-1,1↵ -1,-3,-5↵ 1,2,3↵ -1,-10,0
输出样例
3 2 1 4 1
# 此处可 import 模块
"""
@param string line 为单行测试数据
@return string 处理后的结果
"""
def solution(line):
# 缩进请使用 4 个空格,遵循 PEP8 规范
# 返回处理后的结果
nums = line.strip().split(',')
nums = list(map(int, nums))
hashmap = {}
min_val = float('inf')
for num in nums:
hashmap[num] = 1
if num > 0 and min_val > num:
min_val = num
if min_val == float('inf'):
return 1
while True:
min_val += 1
if min_val not in hashmap:
return min_val
return