给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
"""
需要把数组去重,并排序,利用下标相对进行结果获取
遍历一次数组把大于等于1的和小于数组大小的值放到原数组对应位置,然后再遍历一次数组查当前下标是否和值对应,
如果不对应那这个下标就是答案,否则遍历完都没出现那么答案就是数组长度加1。
:param nums:
:return:
"""
def test(nums):
new_nums = sorted([i for i in set(nums) if i >= 1])
for i, j in enumerate(new_nums):
if i + 1 != j:
return i + 1
else:
return len(new_nums) + 1
网友评论