缺失的第一个正数
题目:给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
来源:https://leetcode-cn.com/problems/first-missing-positive/
法一:自己的方法,该方法用时少,但消耗内存大
思路:先将list逆序把小于0的去掉,再判断其长度若为0则返回1,再判断如果若最小值不为1则返回1,否则从2开始逐个判断,直到找到最小的正数为止,返回其值.
class Solution: def firstMissingPositive(self, nums) -> int: for i in nums[::-1]: if i <= 0: nums.remove(i) if len(nums) == 0: return 1 if (min(nums) != 1): return 1 else: k = 2 while k > 0: if k not in nums: return k k += 1 if __name__ == '__main__': duixiang = Solution() ww = duixiang.firstMissingPositive([7,8,9,11,12]) print('结果是:', ww)