很玄学,用符号代表数字是否在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