파비의 매일매일 공부기록

2023.05.23 Today's Challenge 본문

Problem Solving/LeetCode

2023.05.23 Today's Challenge

fabichoi 2023. 5. 23. 23:45

https://leetcode.com/problems/kth-largest-element-in-a-stream/

 

Kth Largest Element in a Stream - LeetCode

Can you solve this real interview question? Kth Largest Element in a Stream - Design a class to find the kth largest element in a stream. Note that it is the kth largest element in the sorted order, not the kth distinct element. Implement KthLargest class:

leetcode.com

문제를 보는 순간 Heap을 쓰면 되는거 같았는데, 어찌 쓰면 되는지는 솔루션을 참고함

class KthLargest:

    def __init__(self, k: int, nums: List[int]):
        self.k = k
        self.heap = nums
        heapq.heapify(self.heap)

        while len(self.heap) > k:
            heapq.heappop(self.heap)

    def add(self, val: int) -> int:
        heapq.heappush(self.heap, val)
        if len(self.heap) > self.k:
            heapq.heappop(self.heap)
        return self.heap[0]
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

2023.05.25 Today's Challenge  (0) 2023.05.25
2023.05.24 Today's Challenge  (0) 2023.05.24
2023.05.22 Today's Challenge  (0) 2023.05.22
2023.05.21 Today's Challenge  (1) 2023.05.21
2023.05.20 Today's Challenge  (0) 2023.05.20
Comments