Публикации по теме 'backtracking'


Как решить проблему возврата  — пример судоку
Решая задачи для интервью или конкурсов по кодированию, мы часто сталкиваемся с обратными вопросами. В этом посте я стремлюсь описать основные идеи, лежащие в основе задач поиска с возвратом, и применить их к задаче судоку. Ссылку на проблему можно найти в конце этого поста. Перво-наперво, Что такое возврат? Возврат — это метод уточнения метода грубой силы. Метод возврата означает, что он находит количество подрешений, и каждое из них может иметь несколько подразделов, и..

Бэктрекинг и его приложения
Возврат — это общий алгоритмический метод, который включает в себя исследование всех возможных решений проблемы путем постепенного создания решения с последующей отменой (или «возвратом») последнего шага, если он ведет в тупик. Этот метод часто используется для решения задач по комбинаторике, таких как поиск всех возможных комбинаций или перестановок набора элементов. Одним из распространенных применений поиска с возвратом является решение задач удовлетворения ограничений , таких..

Возврат и мемоизация
Возврат и мемоизация Возврат — это техника, о которой мы говорили при решении перестановок . Давайте рассмотрим еще одну проблему, ключом к решению которой является поиск с возвратом. Проблема : Учитывая непустую строку `s` и словарь, `dict` определяет, может ли `s` быть сегментировано в последовательность из одного или нескольких словарных слов. Алгоритм 1: Используя подход с возвратом, найдите первую подстроку, которая является допустимым словом словаря, а затем рекурсивно по..

Возврат с проблемами LeetCode - Часть 2
Комбинация и все пути Прежде чем читать этот пост, сначала прочтите первую часть: Возврат с проблемами LeetCode - Часть 1: Введение и перестановка Комбинация Продолжая перестановку, комбинация относится к комбинации n вещей, взятых k за раз, без повторения, математическая формула C_n ^ k. Комбинация не заботится об упорядочении между выбранными элементами, так что [a, b] и [b, a] рассматриваются как одно и то же решение, поэтому может существовать только один из них. Некоторые..

Алгоритмы: Power Set
В этом сообщении объясняется решение проблемы с настройкой мощности. Постановка задачи Учитывая набор различных целых чисел, nums , верните все возможные подмножества (набор мощности). Пример 1: Input: nums = [1,2,3] Output: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] Вот вопрос: Leetcode link . Само собой разумеется, что сначала вам следует попробовать решить эту проблему. Код Вот решение проблемы (код Python), за кодом следует..

Возвращение
Возврат — это действие по поиску заданного решения путем перебора возможностей и добавления каждой из них к возможному решению. Если добавленное значение нарушает наше возможное решение, мы хотим удалить это значение и перейти к следующей возможности. Это может быть невероятно полезно для решения сложных головоломок. Википедия определяет наш возврат как общий «алгоритм поиска всех (или некоторых) решений некоторых вычислительных задач , особенно задач удовлетворения ограничений ,..

47. Permutations II Решение Leetcode Javascript
Проблема: Учитывая набор чисел nums , который может содержать дубликаты, вернуть все возможные уникальные перестановки в любом порядке . Пример 1: Input: nums = [1,1,2] Output: [[1,1,2], [1,2,1], [2,1,1]] Пример 2: Input: nums = [1,2,3] Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] Ограничения: 1 <= nums.length <= 8 -10 <= nums[i] <= 10 Решение: Для такого рода задач нам нужно использовать поиск с возвратом. Мы также..