엄격하게 증가하는 값으로 양수 정렬된 num이라는 배열이 있고 정수 k도 있다고 가정합니다. 이 배열에서 누락된 k번째 양의 정수를 찾아야 합니다.
따라서 입력이 nums =[1,2,4,8,12], k =6과 같으면 누락된 숫자가 [3,5,6,7,9,10,11이기 때문에 출력은 10이 됩니다. ], 여기서 6번째 항은 10입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
nums :=nums에 있는 요소의 새 집합
-
개수 :=0
-
숫자 :=1
-
동안
-
num이 num이 아닌 경우
-
개수 :=개수 + 1
-
-
개수가 k와 같으면
-
반환 번호
-
-
숫자 :=숫자 + 1
-
-
반환 번호
예제(파이썬)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(nums, k): nums = set(nums) count = 0 num = 1 while count < k: if num not in nums: count += 1 if count == k: return num num += 1 return num nums = [1,2,4,8,12] k = 6 print(solve(nums, k))
입력
[1,2,4,8,12], 6
출력
10