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

缺失的第一个正整数

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

class Solution:
    def minNumberDisappeared(self , nums: List[int]) -> int:
        # write code here
        n = len(nums)
        # 原地哈希
        # nums[i] < 0 表示 i+1 出现过
        # 为排除原有负数的影响,将所有负数置为 n+1
        for i, num in enumerate(nums):
            if num <= 0:
                nums[i] = n + 1
        for num in nums:
            x = abs(num)
            if x <= n:
                nums[x-1] = -abs(nums[x-1])
        
        for i, num in enumerate(nums):
            if num > 0:
                return i + 1
        return n + 1
            

全部评论

相关推荐

EEbond:给北邮✌️跪了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务