Наибольшее делимое подмножество | Динамическое программирование | Leetcode #368
В этом видео объясняется очень важная задача динамического программирования, являющаяся вариантом задачи поиска самой длинной возрастающей подпоследовательности (ДВП). Задача состоит в том, чтобы найти наибольшее делимое подмножество таким образом, чтобы все элементы подмножества были попарно делимы. Необходимо вернуть все элементы подмножества независимо от их порядка. Я объяснил, как применять рекурсию и возврат к этой задаче, а также показал, почему рекурсия не сработает. Я показал, как эту задачу можно свести к задаче поиска самой длинной возрастающей подпоследовательности (ДВП). Я четко показал все шаги с соответствующими примерами, а в конце показал разбор кода. Ссылка на код, как обычно, находится ниже. Для задачи Leetcode «Наибольшее делимое подмножество» (ДЕНЬ 13) сортировка необходима, и ее нельзя решить без сортировки, потому что число должно иметь все делители слева от себя, чтобы быть абсолютно уверенным в том, что оно входит в то же подмножество. Этот порядок ASC важен для принятия решений. Рассмотрим [9,18,6]. Здесь, если мы находимся в точке 6, то сравним её с 18, и она разделится, поэтому мы попытаемся включить её в множество вместе с 18. Но 18 уже находится в множестве с 9, которое равно [9,18], поэтому это даст неверный ответ. Если мы сначала отсортируем его до [6,9,18], то это всегда даст правильный ответ. Поэтому, пожалуйста, игнорируйте то, что я сказал о решении без сортировки. Если у вас возникнут трудности или вопросы, оставьте комментарий ниже. Пожалуйста, поддержите наш канал, ПОДПИСАВШИСЬ и ПОСТАВИВ ЛАЙК нашему видео, если оно оказалось полезным... Пока! :) LinkedIn: https://www.linkedin.com/in/surya-pratap-kahar-47bb01168 ССЫЛКА НА КОД: https://gist.github.com/SuryaPratapK/74b8a5eb56dd882db167c975688be05e ПОХОЖИЕ ЗАДАЧИ: Наиболее длинная возрастающая подпоследовательность (LIS): https://www.youtube.com/watch?v=mouCn3CFpgg Наиболее длинная общая подпоследовательность (LCS): https://www.youtube.com/watch?v=LAKWWDX3sGw Наиболее длинная общая подстрока: https://www.youtube.com/watch?v=UZRkpGk943Q Наиболее длинная палиндромная подстрока (LPS): https://www.youtube.com/watch?v=UflHuQj6MVA
Название:
Наибольшее делимое подмножество | Динамическое программирование | Leetcode #368
Категория:
Разное