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

Combination Sum (LeetCode 39) — Backtracking с отсечением (pruning) на C++ | Самая популярная зад...

Tech For Geeks

0:00 / 0:00

Combination Sum (LeetCode 39) — Backtracking с отсечением (pruning) на C++ | Самая популярная зад...

68 просмотров · 7 дн. назад
Tech For Geeks
42 подписчика
68 просмотров · 7 дн. назад
Задача «Сумма комбинаций» (LeetCode 39) — одна из самых часто задаваемых задач на собеседованиях по программированию. Сначала изучите шаблон поиска с возвратом: выбор, исследование, отмена выбора; начальный индекс, предотвращающий повторение комбинаций; и отсечение с помощью сортировки + break. Затем решите задачу шаг за шагом: описание задачи и примеры, что говорят ограничения, почему наивный поиск приводит к дубликатам, суть, план рекурсии, как один символ превращает задачу в «Сумму комбинаций II» или «Подмножества», полный пробный запуск дерева рекурсии, чистый код на C++ и сложность. 🔥 Одна из самых часто задаваемых задач на собеседованиях по программированию — часто встречается в Amazon, Microsoft, Google, Uber, Airbnb (на основе отчетов с собеседований в сообществе). В этом видео: • Шаблон обратного поиска: выбор, исследование, отмена выбора • Начальный индекс, который формирует каждую комбинацию один раз • Отсечение: сортировка, затем остановка, когда кандидат слишком велик • LeetCode 39: задача, примеры и ограничения • dfs(i) против dfs(i + 1) против перестановок • Полный пробный запуск дерева рекурсии, код на C++, сложность ⏱️ Разделы 0:00 Один из самых часто задаваемых вопросов на собеседованиях 0:26 Шаблон: краткий обзор обратного поиска 0:44 Шаблон: выбор, исследование, отмена выбора 1:02 Шаблон: начальный индекс предотвращает дублирование комбинаций 1:22 Шаблон: отсечение, остановка на ранней стадии, когда это не работает 1:40 Шаблон: быстрый пробный запуск 2:40 Шаблон: как его распознать 2:58 Шаг 1 · Задача: Сумма комбинаций (LeetCode 39) 3:34 Шаг 1 · Понимание примеров 4:04 Шаг 1 · Ограничения и что они нам говорят 4:26 Шаг 2 · Подход: наивный поиск создает дубликаты 4:52 Шаг 2 · Подход: неубывающий порядок + повторное использование 5:14 Шаг 2 · Подход: рекурсивный план 5:43 Шаг 2 · Подход: один символ меняет задачу 6:05 Шаг 3 · Решение: пробный запуск 6:42 Шаг 3 · Решение: пробный запуск (продолжение) 7:03 Шаг 3 · Решение: пробный запуск (завершение) 7:29 Шаг 3 · Код: функция возврата 7:58 Шаг 3 · Код: основная функция 8:13 Шаг 3 · Решение: сложность 8:38 Тот же шаблон в других местах 8:59 Резюме 9:30 Ставьте лайки и подписывайтесь 🧩 Практика LeetCode 39 · Сумма комбинаций → https://leetcode.com/problems/combina... LeetCode 40 · Сумма комбинаций II → https://leetcode.com/problems/combina... LeetCode 78 · Подмножества → https://leetcode.com/problems/subsets/ LeetCode 46 · Перестановки → https://leetcode.com/problems/permuta... 💻 Полный код на C++: 📺 Анимированные структуры данных и алгоритмы — Анимированные структуры данных и алгоритмы — на C++. Полный плейлист: [добавить ссылку на плейлист] ⏮️ Предыдущий: Эпизод 49 · K наиболее часто встречающихся элементов ⏭️ Следующий: Эпизод 51 · Сбор дождевой воды 👍 Поставьте лайк видео и подпишитесь, чтобы получать больше анимированных структур данных и алгоритмов. #Backtracking #CodingInterview #Cpp