给定一个无重复元素的整数数组nums,请你找出其中没有出现的最小的正整数
进阶: 空间复杂度 ,时间复杂度
数据范围:
class Solution: def minNumberDisappeared(self , nums: List[int]) -> int: # write code here num_set = set(nums) for i in range(1, len(num_set)): if i not in num_set: return i return len(nums)+1
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution: def minNumberDisappeared(self , nums: List[int]) -> int: # write code here min_num = 1 nums.sort() for n in nums: # 如果出现的值和当前相等,则最小值+1 if n == min_num: min_num += 1 # 若比最小值大,则当前记录的最小值就是最小值 elif n > min_num: return min_num return min_num
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution: def minNumberDisappeared(self , nums: List[int]) -> int: # write code here num = set(nums) for i in range(1, len(num)): if i in num: continue return i return len(num)+1
def minNumberDisappeared(self , nums: List[int]) -> int: # write code here nums = set(nums) i = 1 while i in nums: i += 1 return i
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution: def minNumberDisappeared(self , nums: List[int]) -> int: exists = set() for i in nums: if i > 0: exists.add(i) ret = 1 while True: if ret in exists: ret = ret + 1 continue return ret
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution: def minNumberDisappeared(self , nums: List[int]) -> int: temp = [] for i in range(len(nums)): if nums[i]>0: temp.append(nums[i]) temp.sort() for j in range(len(temp)): if temp[j] != j+1: return(j+1) elif j == (len(temp)-1): return(j+2)