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
     
  • 相关阅读:
    基于微服务架构的RBAC权限管理系统
    用C#实现基于(OpenId Connect)的单点登录与RBAC权限验证(SSO,OIDC,RBAC)
    量化分析基础
    Ocelot 发现服务总是失败的解决办法
    windows 下安装 theano 及配置 gpu
    python scrapy 爬虫 初学
    layer弹出层框架alert与msg详解
    Workerman-文件监控-牛刀小试
    ECharts 初体验
    实验楼 linux 学习
  • 原文地址:https://www.cnblogs.com/corvus/p/12094934.html
Copyright © 2011-2022 走看看