zoukankan      html  css  js  c++  java
  • [LeetCode]题解(python):041-First Missing Positive


    题目来源

    https://leetcode.com/problems/first-missing-positive/

    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.


    题意分析


    Input:a list with many numbers

    Output:the first missing positive number

    Conditions:最小的missing 正整数,注意要0(n)级别的算法


    题目思路


    利用字典去做,因为字典查询是0(n)的,不过会使用0(n)的空间,AC了,但是网上说要用triky,可能是leecode评测放宽了……以后再回来看看


    AC代码(Python)


     1 _author_ = "YE"
     2 # -*- coding:utf-8 -*-
     3 
     4 class Solution(object):
     5     def firstMissingPositive(self, nums):
     6         """
     7         :type nums: List[int]
     8         :rtype: int
     9         """
    10         len1 = len(nums)
    11         if len1 == 0:
    12             return 1
    13         dic = {}
    14         for num in nums:
    15             if num > 0:
    16                 dic[num] = num
    17         for i in range(1, len1 + 1):
    18             if dic.get(i, -1) == -1:
    19                 return i
    20         return len1 + 1
  • 相关阅读:
    linux top
    虚拟内存
    strcpy与strncpy
    C++ 踩内存
    MySQL -- 全文检索
    MySQL -- 全文检索(自然语言全文检索)
    MySQL -- innodb中cardinality是如何统计的
    MySQL -- Fast Index Creation
    python -- 生成器
    MySQL中模拟oracle中的rownum列
  • 原文地址:https://www.cnblogs.com/loadofleaf/p/5042849.html
Copyright © 2011-2022 走看看