Any thoughts?
class FrequencyStack:
def __init__(self):
self.freqs = {}
self.max_freqs = []
self.time = 0
def push(self, num):
self.time -= 1
self.freqs[num] = self.freqs.get(num, 0) - 1
heappush(self.max_freqs, (self.freqs[num], self.time, num))
def pop(self):
num = heappop(self.max_freqs)[2]
self.freqs[num] += 1
return num
Type your question above this line.
Course: https://www.educative.io/collection/5668639101419520/5671464854355968
Lesson: https://www.educative.io/collection/page/5668639101419520/5671464854355968/6223867750121472