• 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
     
  • 相关阅读:
    进制转换
    01背包基础
    6-14 Inspector s Dilemma uva12118(欧拉道路)
    9-4 Unidirectional TSP uva116 (DP)
    8-4 奖品的价值 uva11491(贪心)
    9-1 A Spy in the Metro uva1025 城市里的间谍 (DP)
    8-3 Bits Equalizer uva12545
    8-2 Party Games uva1610 (贪心)
    自动发邮件功能
    窗口截图.py
  • 原文地址:https://www.cnblogs.com/corvus/p/12094934.html
Copyright © 2020-2023  润新知