您當前的位置:首頁 > 遊戲

陣列中未出現的最小正整數

作者:由 金烏爬蟲 發表于 遊戲時間: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

原文連結:金烏智慧 -陣列中未出現的最小正整數

標簽: num  min  arr  return  Max