Публикации по теме 'dynamic-programming'


Соревновательное программирование LDN#3
Мы Competitive Programming London , мы встречаемся раз в неделю, чтобы попрактиковаться в некоторых алгоритмических задачах из Codeforces, Hackerrank, Leetcode и других задачах. Общий формат наших встреч — работать над несколькими проблемами в парах, а затем обсуждать решения друг друга в целом ближе к концу. на этой встрече мы начали углубляться в проблемы динамического программирования. Динамическое программирование (DP) заключается в поиске некоторой работы (обычно рекурсивной),..

Сочетания букв в телефонном номере
Два года назад во время собеседования по кодированию в FAANG меня попросили напечатать все возможные буквенные комбинации телефонного номера. Я был шокирован и очень старался во время интервью, но в конце концов сдался. Сегодня я снова возвращаюсь к этому вопросу и, наконец, знаю, как это сделать. Давайте посмотрим на вопрос, Прежде чем приступить к работе, нам нужно знать несколько вещей. Будет ли серия одинаковых чисел, в которой длина больше 4? да, поэтому для 22222 результат..

Максимальная прибыль при планировании работ
У нас есть n работа, каждая из которых должна быть выполнена с startTime[i] по endTime[i] , с получением profit[i] прибыли. Вам даны массивы startTime , endTime и profit , вам нужно вывести максимальную прибыль, которую вы можете получить, чтобы в подмножестве не было двух заданий с перекрывающимся временным диапазоном. Если вы выберете задание, которое заканчивается в время X , вы сможете начать другое задание, которое начнется в время X . Пример 1: Input:..

Решение алгоритма грабителя дома #DynamicProgramming
Динамическое программирование Динамическое программирование - это метод компьютерного программирования для оптимизации рекурсии. Он разбивает сложную проблему на более простые подзадачи, чтобы нам не приходилось повторно вычислять их, когда это понадобится позже, что сокращает временные сложности с экспоненциальной до полиномиальной. House Robber : You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only..

Алгоритмы в контексте # 2: динамическое программирование
Эта история является прямым продолжением моей предыдущей публикации о Жадных алгоритмах , так что вы можете сначала проверить это. Это нормально, если вас интересует только Динамическое программирование и вы хотите пропустить его, поскольку я снова буду объяснять проблему. Когда я был студентом университета, динамическое программирование было для меня самой сложной темой в классе алгоритмов. Это произошло главным образом из-за того, что вам пришлось прочитать длинные страницы с..

Динамическое программирование
Динамическое программирование Стратегия динамического программирования: Динамическое программирование и запоминание работают вместе. Основное различие между динамическим программированием и разделяй и властвуй заключается в том, что в случае последнего подзадачи независимы, тогда как в DP (динамическом программировании) подзадачи могут перекрываться. Используя мемоизацию [ведение таблицы уже решенных подзадач], динамическое программирование снижает экспоненциальную сложность до..

Amazon | SDE1 | Портленд | Сен 2019 [предложение]
5-й раунд: 30 минут LP + вопрос по кодированию https://leetcode.com/problems/coin-change/ Вам выдаются монеты разного достоинства и общая сумма денег сумма . Напишите функцию для вычисления наименьшего количества монет, необходимого для получения этой суммы. Если эта сумма не может быть получена какой-либо комбинацией монет, верните -1 Решение: динамическое программирование Я использовал динамическое программирование для решения этой проблемы. Итак, я представил..