20. Медиана потока#
| 🎯 Уровень | 🔴 Senior |
| 🔗 Источник | LeetCode 295 — Find Median from Data Stream |
| 📊 Сложность | Hard |
| 🏷️ Темы | две кучи |
📝 Условие#
Реализуйте структуру: добавить число; вернуть медиану всех добавленных чисел.
Совет
На LeetCode
mainне нужен: данные приходят аргументами метода классаSolution.
Формат ниже — для запуска у себя черезcin/cout.
📥 Входные данные#
В первой строке число q — количество операций. Далее q строк: add x — добавить число, median — запросить медиану.
📤 Выходные данные#
Для каждой операции median — медиана с одним знаком после запятой.
🧪 Тесты#
Тест 1#
Ввод:
5
add 1
add 2
median
add 3
median
Вывод:
1.5
2.0
Тест 2#
Ввод:
6
add 5
median
add 15
median
add 1
median
Вывод:
5.0
10.0
5.0
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
Max-куча для меньшей половины и min-куча для большей.