Друзья, с наступающим Новым годом. 🎄 Последние несколько месяцев я собирал и переписывал большую статью про свой путь в алгоритмах за два года. Это не история про "как быстро подготовиться к интервью", а скорее про процесс: сомнения, выстраивание системы, влияние алгоритмов на мышление и работу в целом. В какой-то момент стало важно зафиксировать этот опыт - пока он живой и честный, без ретроспективного глянца. Если тема вам откликается - буду очень благодарен за поддержку и комментарии на Хабр...
Road to MAANG
Дневник о пути который начался с первого шага
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
19 из 19Делюсь: Мои шаблоны по рисункам ✍️ Всем привет, я выложил свои шаблоны и наработки из excalidraw. - Таблица Где ведется учет каждой решенной задачи со ссылкой на решение и мета данными объяснено, что где указывать) - Шаблон Там где расписывается и рисуется сама задача. Я блоками объяснил где и что размещать - Бонус Различные шаблоны для excalidraw: Матрицы, деревья, ось координат, числовые прямые. Скачать тут
Задачи на деревья.. 🌳 Я уже прорешал около 140 задач на деревья и по правде сказать начинает казаться что достаточно знать два приема из "этого карате". DFS и BFS... Ах да, пожалуй еще inorder, postorder и preorder traverse(обходы). Если вы умеете писать рекурсию (как бог) - то задачи как будто начинают повторяться.. Я решил взять самые популярные задачи из этого списка и заодно записать видео разборы на самые популярные из них. Прорешав почти все - я искренне не понимаю в чем их сложность... Н...
Записал полезный разбор задачи на граф - с поиском пути Для обучения рассказал о двух вариантах: - DFS - Упрощенный алгоритм дейкстры Как мне кажется задача не самая сложная - если вы решали раньше задачи на графы. Но не простая оценка сложности. Из всей подготовки к этому видео - больше времени у меня заняло именно оценка сложности, местами я сам не мог сообразить и в чем то сомневался. Как по мне получилось достаточно подробно для тех кто хоть что то решал. 😊
Новое видео на тему "динамическое программирование" опубликовано на youtube. Что интересно в этой задаче - она похожа на задачу из моей реальной практики - а конкретно когда я работал над билингом. В самом видео я рассказываю чем именно она похожа. Ну и как полагается я постарался объяснить разные подходы: рекурсия, мемонизация и табулиция. Приятного просмотра. 🙂 P.S Материалы к видео (рисунки) в разных форматах я выкладываю на Boosty
Я не пропал, решаю задачи дальше и делаю время от времени на них обзоры. Сейчас решаю задачи на графы и мне попалась одна из тех - которую редко - даже очень редко - дают на интервью. Попытался я сам решить несколько часов и перестав себя мучить - приступил к изучению решения этой задачи. У решения есть две стороны - с одной стороны она не очень сложная - с другой если не знал сам можешь и не догадаться. Конечно, для закрепления я решил еще и сделать видео - чтобы мои знания об этом алгоритме ст...
Примерно где-то неделю я подготавливал видео по задаче на динамическое программирование. В этой задаче я решил показать различные способы решения от рекурсии до табуляции. То есть показать, как переходит рекурсия в мемонизацию, а потом показать пример с табуляцией. Я понимаю, что динамическое программирование, наверное, одна из самых сложных тем, которые есть в алгоритмах, но попытался подробно объяснить на конкретной задаче, какие приемы и подходы помогают решать такого типа проблемы. https://y...
Сегодня для вас "накопал" пару браузерных расширений - которые сделают вашу жизнь легче с Leetcode. LeetCode Forcer Плагин поможет вам решать задачу дня - "принудительно" - будет редиректить пока вы не решите ее. На сколько подходит я не знаю, но возможно ленивым товарищам стоит попробывать! LeetCode Recall Плагин напоминает вам о задаче - которую вы решили какое-то время назад. Удобство может быть в том - что делается проще в отличии самостоятельного менеджмента. Стоит попробывать - если вы хот...
Для истории решил запечатлеть в дневник 1000 задач, которые решил на LeetCode. Последний год регулярно каждый день продолжал решать задачи. Это видно в целом на графике. Но темп был меньше, потому что больше старался работать на качество. Делал видеоразборы разных задач и повторял предыдущие задачи. В общем, почти прошло 2 года с тех пор, как я начал каждый день решать. И сегодня у меня как раз выходит ровно 1000. Планирую писать большую статью о моем почти двухлетнем опыте решения задач на Leet...
Задача на двоичный поиск, где мы его используем при нахождении делителя. Такие задачи встречаются на leetcode часто. Например вот эта очень очень популярная на интервью и имеет похожее решение которое я рассказал в видео. В целом двоичный поиск нас окружает много где и даже (как не странно) в обычной жизни. Трюк состоит в том, что надо нарешать достаточное кол-во задач, чтобы в нужный момент можно было его использовать. А в видео я рассказал как поделить конфеты между детьми в равном количестве,...