[LeetCode] 2336. Smallest Number in Infinite Set

김민우·2023년 4월 25일
0

알고리즘

목록 보기
180/189

- Problem

2336. Smallest Number in Infinite Set

- 내 풀이

class SmallestInfiniteSet:

    def __init__(self):
        self.heap = []
        self.popped = set()
        for i in range(1, 1001):
            heappush(self.heap, i)
        

    def popSmallest(self) -> int:
        smallest_num = heappop(self.heap)
        self.popped.add(smallest_num)
        return smallest_num


    def addBack(self, num: int) -> None:
        if num in self.popped:
            heappush(self.heap, num)
            self.popped.remove(num)

- 결과

  • 시간 복잡도: O(NlogN)
profile
Pay it forward.

0개의 댓글