zoukankan      html  css  js  c++  java
  • PHP-缺失的第一个正数

    给定一个未排序的整数数组,找出其中没有出现的最小的正整数。

    示例 1:

    输入: [1,2,0]
    输出: 3
    示例 2:

    输入: [3,4,-1,1]
    输出: 2
    示例 3:

    输入: [7,8,9,11,12]
    输出: 1
    说明:

    你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。

    来源:力扣(LeetCode)

    class Solution {

        /**
         * @param Integer[] $nums
         * @return Integer
         */
        function firstMissingPositive($nums) {
            sort($nums);
     
            $arr = [];
            for($i=0;$i<count($nums);$i++){

                if($nums[$i] > 0){
                    array_push($arr,$nums[$i]);
                }

            }
            $arrs = array_unique($arr);
            $l = 1;
            foreach($arrs as $key => $val){

                if($l != $val){
                    return $l;
                }
                $l++;
            }
            return count($arrs)+1;
        }
    }
     
    python3
     
    class Solution:
        def firstMissingPositive(self, nums: List[int]) -> int:
            nums.sort()
            arr = set()
            sums = 1

            for i in nums :
                
                if int(i) > 0 :
                    arr.add(i)

            arrs = list(set(arr))
            arrs.sort()

            for i in arrs:
                if int(sums) != int(i):
                    return sums
                sums = sums + 1
            return len(arr)+1
     
  • 相关阅读:
    MySQL数据库的登陆
    Mysql 数据库的介绍
    前台后台数据的传递
    header函数
    循环结构
    流程控制
    JS与PHP数组操作的不同
    HDU 3265/POJ 3832 Posters(扫描线+线段树)(2009 Asia Ningbo Regional)
    HDU 3264/POJ 3831 Open-air shopping malls(计算几何+二分)(2009 Asia Ningbo Regional)
    HDU 3262/POJ 3829 Seat taking up is tough(模拟+搜索)(2009 Asia Ningbo Regional)
  • 原文地址:https://www.cnblogs.com/corvus/p/12094934.html
Copyright © 2011-2022 走看看