Стек с частотой элементов
- Не решено
Создайте стеко-подобную структуру данных, в которую можно добавлять элементы и извлекать самый часто встречающийся элемент.
Реализуйте класс FreqStack
:
FreqStack()
должен создавать пустой стекpush(value)
добавляет значениеvalue
(типаint
) в конец стека, этот метод ничего не возвращаетpop()
извлекает из стека самый часто встречающийся элемент и удаляет его из стекаget()
возвращает список всех элементов
Примечание: Если несколько элементов встречаются одинаковое количество раз, то метод pop
возвращает тот, который ближе к концу стека.
Пример 1:
obj = FreqStack()
# Создается пустой стек
obj.push(5)
obj.push(7)
obj.push(5)
obj.push(7)
obj.push(4)
obj.push(5)
# Имеем [5,7,5,7,4,5]
obj.pop()
# Имеем [5,7,5,7,4], т.к. 5 встречается больше всего раз
obj.pop()
# Имеем [5,7,5,4], т.к. 5 и 7 встречаются одинаковое количество раз, но 7 ближе к концу стека