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


Опыт интервью в качестве старшего разработчика: мартовский выпуск
Опыт интервью в качестве старшего разработчика: мартовский выпуск Неожиданные интервью и результаты от Senior Software Engineer → Tech Lead Positions. В этом месяце я дал 2 интервью и поделюсь с ними своим опытом. Одно из них было неожиданным, поскольку компании до сих пор задают Leedcode сложные вопросы на собеседованиях. В целях конфиденциальности я не буду называть компании. Но для удобства это компании А и Б. Первое собеседование (задание по низкоуровневому дизайну)..

LeetCode : #21 Поиск Вставить позицию [Просто]
Постановка задачи : Позиция вставки поиска — LeetCode По заданному отсортированному массиву и целевому значению вернуть индекс, если целевое значение найдено. Если нет, верните индекс, где он… leetcode.com Решение:

Динамическое программирование: бесплатные ресурсы от А до Я | Часть 1
Динамическое программирование — это алгоритмический метод, который решает сложную проблему, разбивая ее на более простые подзадачи и сохраняя результаты каждой подзадачи для решения общей ситуации. Он используется в основном для задач оптимизации, целью которых является поиск наилучшего решения. В этой статье я поделюсь некоторыми замечательными ресурсами, которые помогут вам изучать и практиковать задачи DP из бесплатных ресурсов. Все задачи динамического программирования (DP) на..

Leetcode 1026. Максимальная разница между узлом и предком — Python.
Классическая задача дерева с использованием рекурсии. В чем проблема? Нам дан корень бинарного дерева, и задача состоит в том, чтобы найти максимальное значение 'v' такое, что 'v' равно абсолютной разнице между двумя узлами 'a' и 'b', где 'a' является предком из «б». Проще говоря, узел-предок «а» может быть родителем, прародителем, прапрадедушкой и т. д. узла «b» — предок — это любой узел, который находится между корнем и этим узлом, например:..

День 44: Действительные скобки
LeetCode 20. Допустимые скобки class Solution { public: bool isValid(string s) { stack <char> stck; for (char c: s) { if (c == '(' || c == '[' || c == '{') { stck.push(c); } else { if (stck.empty()) return false; if (c == ')' && stck.top() != '(') return false; if (c == ']' && stck.top() != '[') return false; if (c == '}'..

Две суммы
Давайте решим простую, но популярную задачу LeetCode «Две суммы» наиболее эффективным способом. Постановка задачи Решение Грубое решение проблемы состоит в том, чтобы проверить каждую пару, запустив два цикла. Сложность решения грубой силы довольно проста: Временная сложность = O(n²) и пространственная сложность = O(1) Конечно, мы читаем эту статью не для того, чтобы обсуждать решение методом грубой силы. Попробуем решить постановку задачи эффективным способом. Идея..

Конкурс Leetcode раз в две недели 341 интересная задача
Рассмотрим третью задачу из двухнедельного конкурса Leetcode 341 . Решения различных задач из других конкурсов вы можете найти здесь . Минимальные дополнения для создания действительной строки Учитывая строку word , в которую можно вставлять буквы "a", "b" или "c" в любом месте и любое количество раз, вернуть минимальное количество букв, которое необходимо вставить, чтобы word стало действительным . Строка называется действительной , если она может быть образована..