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


NgTemplateOutlet: использование директив в Angular
Динамическое программирование в вашем HTML с точки зрения дерева Прежде чем что-либо использовать, давайте поговорим о том, что на самом деле представляет собой NgTemplateOutlet . Причина, по которой я хотел поговорить об этой директиве Angular, заключается в том, что она позволила мне сэкономить много времени на доставке моей функции, и из-за того, что я не знал, что есть на самом деле, это заставило меня понять важность этого за короткое время, и я думаю, что получил Лучшее из..

Сегментация запросов и исправление орфографии
На английском языке люди обычно вводят запросы, разделенные пробелом, но иногда оказывается, что этот пробел пропускается по непреднамеренной ошибке. Метод определения границ слов известен как сегментация запроса . Например, мы легко можем расшифровать орехи as шоколадные конфеты без орехов Но машина не сможет этого сделать, если мы их не научим. Вот свидетельство: Поскольку мы не утратили своих возможностей, наш мозг делает это как-то интуитивно и бессознательно. Но в..

Биты и битовая маска
Битовая маскировка, которую многие часто называют бит-магией, не так страшна, как многие думают. Я наблюдал, как мои коллеги жалуются на повторяющиеся проблемы с TLE’S (превышение временного лимита) и проблемы с пространственной сложностью при запуске их кодов. Вот тут-то на помощь приходит Bit-Magic. В этой серии из двух частей я поделюсь своими нынешними знаниями о битовой маскировке и о том, как она помогает оптимизировать алгоритмы (причина, по которой она также известна как..

Динамическое программирование
Ни одно интервью с техническими гигантами не проходит без вопроса от Dynamic Programming. Это своего рода причудливое название для запоминания или хранения значений для будущих ссылок. Вам потребуется время, чтобы рассчитать Фибоначчи для 100? Потребуется ли много времени, чтобы вычислить Фибоначчи для 100, скажем, вы знаете Фибоначчи для 98 и 99? Что ж, если вам потребовалось время, чтобы ответить на последний вопрос, то эта статья не принесет вам никакой пользы (Пссс… подумайте о..

День 61: Максимальный подмассив
LeetCode 53. Максимальный подмассив Sol динамического программирования: O (n) class Solution { public: int maxSubArray(vector<int>& nums) { int max_so_far = INT_MIN, max_tmp = 0; for (int elem : nums) { max_tmp += elem; max_so_far = max(max_tmp, max_so_far); if (max_tmp < 0) { max_tmp = 0; } } return max_so_far; } }; Разделяй и властвуй Соль: O(n)..

Разделяй и властвуй
Разделяй и властвуй - это стиль решения проблем, который вовсе не ограничивается проблемами информатики. Это идея решения проблемы рекурсивным образом или разбиения более крупной проблемы на более мелкие подзадачи, которые можно решить легче. Он состоит из трех частей, включая разделить часть, часть завоевать и затем объединить подрешения вместе. Делить Раздел «Разделение» фокусируется на разделении большой проблемы на более мелкие и более управляемые подзадачи. Этот процесс..

Leetcode 931: Минимальная сумма пути падения
В этой задаче на Литкоде нам нужно вычислить стоимость минимального пути, учитывая следующую задачу: Учитывая квадратный массив целых чисел A , нам нужна минимальная сумма падающего пути через A . Падающий путь начинается с любого элемента в первой строке и выбирает по одному элементу из каждой строки. Выбор следующей строки должен находиться в столбце, который отличается от столбца предыдущей строки не более чем на единицу. Эта проблема обычно относится к тому типу..