정렬되지 않은 배열이 있다고 가정하고 해당 배열에서 k번째로 큰 요소를 찾아야 합니다. 따라서 배열이 [3,2,1,5,6,4]이고 k =2이면 결과는 5가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 요소를 정렬합니다.
- k가 1이면 마지막 요소를 반환하고, 그렇지 않으면 array[n – k]를 반환합니다. 여기서 n은 배열의 크기입니다.
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution(object): def findKthLargest(self, nums, k): nums.sort() if k ==1: return nums[-1] temp = 1 return nums[len(nums)-k] ob1 = Solution() print(ob1.findKthLargest([56,14,7,98,32,12,11,50,45,78,7,5,69], 5))
입력
[56,14,7,98,32,12,11,50,45,78,7,5,69] 5
출력
50