第一个缺失正数

204 篇文章 0 订阅

描述

给出一个无序的数列,找出其中缺失的第一个正数,要求复杂度为 O(n)
如:[1,2,0],第一个缺失为3。
如:[3,4,-1,1],第一个缺失为2。

输入

 

1,2,0

 

输出

 

3

 

输入样例

 

1,2,0↵ 3,4,-1,1↵ -1,-3,-5↵ 1,2,3↵ -1,-10,0

输出样例

 

3 2 1 4 1

 

# 此处可 import 模块

"""
@param string line 为单行测试数据
@return string 处理后的结果
"""
def solution(line):
    # 缩进请使用 4 个空格,遵循 PEP8 规范
    # 返回处理后的结果
    nums = line.strip().split(',')
	nums = list(map(int, nums))
    hashmap = {}
    min_val = float('inf')
    for num in nums:
        hashmap[num] = 1
        if num > 0 and min_val > num:
            min_val = num
    if min_val == float('inf'):
        return 1
    while True:
        min_val += 1
        if min_val not in hashmap:
            return min_val
    return 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值