陣列中未出現的最小正整數
作者:由 金烏爬蟲 發表于 遊戲時間:2020-11-20
題目描述
給定一個無序陣列arr,找到陣列中未出現的最小正整數
例如arr = [-1, 2, 3, 4]。返回1
arr = [1, 2, 3, 4]。返回5
[要求]
時間複雜度為O(n)O(n),空間複雜度為O(1)O(1)
示例1
輸入:[-1,2,3,4]
返回值: 1
解題思路: 記錄最大,最小值,以最小值為1進行判斷,雖然不是最簡單的程式碼,但最容易理解
#
# return the min number
# @param arr int整型一維陣列 the array
# @return int整型
#
class Solution:
def minNumberdisappered(self , arr ):
# write code here
res = None
if not arr:
return res
min_num = -1
max_num = 0
for i in arr:
if i > 0 and min_num == -1:
min_num = i
elif i > 0 and i < min_num:
min_num = i
if i > 0 and i > max_num:
max_num = i
if min_num == 1:
res = max_num + 1
else:
res = min_num - 1
return res
原文連結:金烏智慧 -陣列中未出現的最小正整數