题解 | 缺失的第一个正整数

缺失的第一个正整数

https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @return int整型
#
class Solution:
    def minNumberDisappeared(self , nums: List[int]) -> int:
        # write code here
        data = sorted(nums)
        print(data)
        #筛选出正数
        data1 = []
        for i in data:
            if i > 0:
                data1.append(i)
        if len(data1) == 0:
            return 1
        
        if data1[0] > 1:
            return 1
        
        for i in range(len(data1)):
            if i + 1 < data1[i]:
                return i+1

        return 1+ data1[-1]

还是要感慨python代码实现算法如此简单,这个题目只要考虑几种情况肯定能做出来。最小正整数就是从1开始的,所以通过遍历正整数的list中,如果下表大于index+1,返回这个index+1即可。

如果全部是负数就返回1

如果list中数据都等于index+1,那么就返回data[-1]+1就可以了,也就是list的最大值+1

全部评论

相关推荐

墨西哥大灰狼:如果你的校友卤馆还在的话,他肯定会给你建议的,可是卤馆注销了@ 程序员卤馆
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务