Перейти к содержимому

Trapping Rain Water — LeetCode 42 | Префиксный максимум | Два указателя | Самый популярный сложны...

Tech For Geeks

0:00 / 0:00

Trapping Rain Water — LeetCode 42 | Префиксный максимум | Два указателя | Самый популярный сложны...

27 просмотров · 6 дней назад
Tech For Geeks
42 подписчика
27 просмотров · 6 дней назад
Задача «Уловить дождевую воду» (LeetCode 42) — одна из самых часто задаваемых сложных задач на собеседованиях по программированию. Сначала изучите ключевую идею: вода над перекладиной = min(самая высокая левая стена, самая высокая правая стена) − высота, как вычисляются префиксные/суффиксные максимумы и почему важна только более короткая сторона. Затем решите задачу шаг за шагом: описание задачи и примеры, что говорят ограничения, сложность перебора O(n²), префиксные максимумы, принцип двухточечной навигации, полный пробный запуск, код на C++ для обеих версий и связанные задачи. 🔥 Одна из самых часто задаваемых задач на собеседованиях по программированию — часто упоминается в отчетах Amazon, Google, Meta, Microsoft, Goldman Sachs (на основе отчетов о собеседованиях в сообществе). В этом видео: • Формула уровня воды выше одного бара • Префиксные и суффиксные максимумы • Почему более короткая сторона всегда является пределом • LeetCode 42: задача, примеры и ограничения • От времени O(n²) до времени O(n), затем O(1) пространства с двумя указателями • Полный тестовый запуск с двумя указателями и код на C++ для обеих версий ⏱️ Разделы 0:00 Один из самых часто задаваемых вопросов на собеседованиях 0:25 Шаблон: сколько воды находится выше одного бара? 0:53 Шаблон: префиксные максимумы и суффиксные максимумы 1:13 Шаблон: важна только более короткая сторона 1:33 Шаблон: быстрый пробный запуск 2:23 Шаблон: как его распознать 2:38 Шаг 1 · Задача: улавливание дождевой воды (LeetCode 42) 3:08 Шаг 1 · Понимание примеров 3:32 Шаг 1 · Ограничения и что они нам говорят 3:53 Шаг 2 · Подход: перебор 4:16 Шаг 2 · Подход: предварительное вычисление обоих максимумов 4:36 Шаг 2 · Подход: два указателя, пространство O(1) 5:05 Шаг 2 · Подход: план 5:29 Шаг 3 · Решение: пробный запуск 6:13 Шаг 3 · Решение: пробный запуск (продолжение) 6:38 Шаг 3 · Решение: пробный запуск выполнение (завершение) 6:57 Шаг 3 · Код: версия с префиксным максимумом 7:15 Шаг 3 · Код: версия с двумя указателями 7:37 Шаг 3 · Решение: сложность 7:57 Тот же шаблон в других местах 8:21 Резюме 8:48 Ставьте лайки и подписывайтесь 🧩 Практика LeetCode 42 · Улов дождевой воды → https://leetcode.com/problems/trappin... LeetCode 11 · Контейнер с наибольшим количеством воды → https://leetcode.com/problems/contain... LeetCode 238 · Произведение массива, кроме самого себя → https://leetcode.com/problems/product... LeetCode 407 · Улов дождевой воды II → https://leetcode.com/problems/trappin... 💻 Полный код на C++: 📺 Анимированные структуры данных и алгоритмы — на C++. Полный плейлист: [добавить ссылку на плейлист] ⏮️ Предыдущий: Эпизод 50 · Сумма комбинаций ⏭️ Следующий: Эпизод 52 · Гниющие апельсины 👍 Поставьте лайк видео и подпишитесь, чтобы получать больше анимационных материалов по структурам данных и алгоритмам. #TwoPointers #CodingInterview #Cpp