Стек с частотой элементов
- Не решено
Создайте стеко-подобную структуру данных, в которую можно добавлять элементы и извлекать самый часто встречающийся элемент.
Реализуйте класс 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 ближе к концу стека