20170611-leetcode-041-First Missing Positive

来源:互联网 发布:瑞士胡椒盐包带淘宝 编辑:程序博客网 时间:2024/06/05 08:43

1.Description

Given an unsorted integer array, find the first missing positive integer.

For example,
Given [1,2,0] return 3,
and [3,4,-1,1] return 2.

Your algorithm should run in O(n) time and uses constant space.
解读
给定一个无序的数组,找到第一个缺失的正整数,要求时间为 O ( n )
比如:【1,2,0】,返回3
【900,-1】,返回1

2.Solution

思路:找到最大值,然后遍历一下

class Solution(object):    def firstMissingPositive(self, nums):        if not nums: return 1        maxNum = max(nums)        for i in range(1, maxNum + 2):            if i not in nums:                return i