Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 배열에 없는 가능한 가장 낮은 정수를 찾는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정하고 첫 번째 누락된 양수를 찾아야 합니다. 즉, 배열에 없는 가장 낮은 양수입니다. 배열에는 중복 및 음수도 포함될 수 있습니다.

따라서 입력이 nums =[0,3,1]과 같으면 출력은 2

가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • nums :=nums에 있는 모든 양수를 포함하는 집합

  • 숫자가 null이면

    • 1 반환

  • 범위 1에서 숫자 + 2의 크기에 있는 i에 대해

    • i가 숫자로 표시되지 않으면

    • 반환 i

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

class Solution:
   def solve(self, nums):
      nums = set(num for num in nums if num > 0)

      if not nums:
         return 1
      for i in range(1, len(nums) + 2):
         if i not in nums:
            return i
ob = Solution()
nums = [0,3,1]
print(ob.solve(nums))

입력

[0,3,1]

출력

2