第一個缺失正數
阿新 • • 發佈:2019-02-15
描述
給出一個無序的數列,找出其中缺失的第一個正數,要求複雜度為 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