很玄学,用符号代表数字是否在arr中出现过。
牛客的测试样例不完整,建议取leetcode官网:https://leetcode.com/problems/first-missing-positive/solution/
#
# return the min number
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
def minNumberdisappered(self , arr ):
# write code here
if 1 not in arr:
return 1
else:
n = len(arr)
for i in range(n):
if arr[i] <= 0 or arr[i] > n:
arr[i] = 1
for i in range(n):
a = abs(arr[i])
if a == n:
arr[0] = -abs(arr[0])
else:
arr[a] = -abs(arr[a])
for i in range(1, n):
if arr[i] > 0:
return i
if arr[0] > 0:
return n
else:
return n+1


京公网安备 11010502036488号