정렬되지 않은 정수 배열이 하나 있다고 가정합니다. 가장 작은 누락된 양수를 찾아야 합니다. 따라서 배열이 [4, -3, 1, -1]과 같으면 결과는 2가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
i :=0으로 설정하고 모든 숫자 앞에 0 하나를 추가하여 배열 숫자 업데이트
-
범위 0에서 숫자 길이까지의 i에 대해
-
nums[i]>=0이고 nums[i]
가 아닙니다. -
숫자[숫자[i]] :=숫자[i]
-
숫자[i] :=숫자[숫자[i]]
-
-
-
숫자 :=1
-
범위 1에서 숫자 길이까지의 i에 대해
-
num =nums[i]이면 num을 1만큼 증가
-
-
반환 번호
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
class Solution(object):def firstMissingPositive(self, nums):i =0 nums =[0] + nums for i in range(len(nums)):while nums[i]>=0 and nums[i ]입력
[4,-3,1,-1]출력
2