[リートコードブラシ] 41 First Missing Positive(Python)



41 First Missing Positive



元のリンク
https://leetcode.com/problems/first-missing-positive/submissions/

この質問には、時間と空間の複雑さに制限があります。配列にマークを付ける方法を採用しました。数値のセットの場合、特定の長さを想定すると、最初に欠落している正の値はlen(nums)+1のみであることがわかっている必要があります。 T / F値を持つリストの長さはnumsに等しく、1〜len(nums)+1の数値が数値のセットに含まれるかどうかを示し、表示される場合はfalseとしてマークされます。最後に、最初の真のインデックス値+1を返します。
画像参照コード

class Solution(object): def firstMissingPositive(self, nums): ''' :type nums: List[int] :rtype: int ''' flags = [True] * len(nums) for item in nums: if item <= 0: continue if item <= len(nums): flags[item-1] = False for i in range(len(nums)): if flags[i] == True: return i+1 return len(nums) + 1