14. Дождевая вода#
| 🎯 Уровень | 🔴 Senior |
| 🔗 Источник | LeetCode 42 — Trapping Rain Water |
| 📊 Сложность | Hard |
| 🏷️ Темы | два указателя, стек |
📝 Условие#
По высотам столбиков посчитайте, сколько воды задержится после дождя.
Совет
На LeetCode
mainне нужен: данные приходят аргументами метода классаSolution.
Формат ниже — для запуска у себя черезcin/cout.
📥 Входные данные#
В первой строке число n (1 ≤ n ≤ 2·10⁴). Во второй — n чисел height[i] (0 ≤ height[i] ≤ 10⁵).
📤 Выходные данные#
Одно число — объём воды.
🧪 Тесты#
Тест 1#
Ввод:
12
0 1 0 2 1 0 1 3 2 1 2 1
Вывод:
6
Тест 2#
Ввод:
6
4 2 0 3 2 5
Вывод:
9
Тест 3#
Ввод:
3
1 2 3
Вывод:
0
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
Максимумы слева и справа или два указателя.