Публикации по теме '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
Решение: динамическое программирование
Я использовал динамическое программирование для решения этой проблемы. Итак, я представил..