포스트

Kth Largest Element in an Array

LeetCode 215. Kth Largest Element in an Array

원문

Given an integer array nums and an integer k, return the kth largest element in the array.

Note that it is the kth largest element in the sorted order, not the kth distinct element.

Can you solve it without sorting?

풀이

최대 힙에 배열 속 숫자를 넣는다. 그 다음 힙에서 최대값을 빼는 것을 반복해 k번째로 큰 수를 구한다.

코드

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import heapq


class Solution:
    def findKthLargest(self, nums: List[int], k: int) -> int:
        result = list()

        for num in nums:
            heapq.heappush(result, -num)

        for i in range(k):
            res = heapq.heappop(result)

        return -res
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.