Как стать автором
Обновить

Путь самурая к заветной 1К на LeetCode [личный опыт]

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.9K

„Я не боюсь того, кто изучает 10 000 различных ударов. Я боюсь того, кто изучает один удар 10 000 раз.“ - Брюс Ли

Возможно вы сейчас на этапе подготовки к алгоритмическому собеседованию в Big Tech или просто энтузиаст, который хочет укрепить свои знания алгоритмов. Тогда эта статья для вас!

Список ресурсов в порядке, в котором я бы рекомендовал прокачивать свои алгоритмические навыки:

  1. Grokking Algorithms - классическая книга для тех, кто только начинает изучать алгоритмы: она объясняет ключевые идеи через простые житейские примеры, помогая понять, как и зачем применяются современные алгоритмы на практике.

  2. GetMentor - на платформе можно найти наставника, который поможет разобраться с решением задач и прояснит непонятные моменты. В качестве альтернативы подойдёт и ChatGPT — он умеет доступно объяснять сложные темы и шаг за шагом разбирать алгоритмы.

  3. NeetCode / TechDose - отличные ресурсы с подробными разбором задач и наглядной визуализацией. Если вы где-то застряли или хотите сравнить своё решение с другим подходом, обязательно загляните. Авторы регулярно публикуют видео с ежедневными задачами и их решениями.

  4. LeetCode Explore Cards/Editorial/Solutions - конечно же куда обойтись без ресурсов самой платформы. Темы удобно разбиты по разделам, есть обучающие материалы. Особенно полезно изучать разные подходы к одной и той же задаче — иногда решения оказываются неожиданными, но дают ценные идеи, которые стоит добавить в свой арсенал.

  5. Курсы CSC (1ый и 2ой семестры) - это ценные лекции от Нияза Нигматулина, двукратного чемпиона мира и Европы по ACM ICPC, которые отлично подходят для глубокого понимания алгоритмов.

  6. Introduction to algorithms - отличная книга, которую можно использовать как справочник. Несмотря на обилие строгих математических доказательств, в ней можно найти много полезного и интересного. Она помогает научиться формализовать решения, мыслить через инварианты и применять математическую индукцию. Также рекомендую заглянуть в Telegram-группу «Кормен Клуб» — ребята организуют еженедельные встречи, где обсуждают главы и задачи из книги.

  7. LeetCode/Codeforces Contests - отличный способ прокачать навыки быстрого решения задач под давлением времени. Особенно интересно, что на LeetCode контестах публикуются решения задач от различных AI-моделей (например, Gemini, DeepSeek, Grok) на языках C++, Go, Java, JavaScript и Python — можно сравнить свои подходы с тем, как справляются нейросети. Как думаете, получилось ли у AI уже перегнать вас в решении задачек или еще нет?

  8. Guide to Competitive Programming - по словам самого автора, охватывает большинство ключевых техник, применяемых в спортивном программировании. Приятный плюс — многие темы, представленные в книге, совпадают с разделами задач на LeetCode, что облегчает практику. Единственный небольшой минус — не по всем темам приведены готовые алгоритмы, но изложение достаточно подробное, чтобы самостоятельно реализовать описанные идеи.

  9. Looking for a challenge - если вы решили серьёзно заняться контестами, советую обратить внимание на эту книгу, в которой собраны задачи и решения с польских контестов, проводившихся с 2011 по 2014 год

  10. Advanced Algorithms and Data Structures - отличное продолжение «Grokking Algorithms» для тех, кто хочет углубиться и разобраться в более прикладных и нестандартных задачах, которые редко встретишь на LeetCode. Книга помогает выйти за рамки базовых тем и посмотреть, как алгоритмы используются в реальных сценариях.

P.S. Также вам может быть полезна статья по подготовке к интервью по system design. Поделитсь в комментариях методами, которыми вы используете для изучения алгоритмов.

Теги:
Хабы:
+5
Комментарии11

Публикации

Ближайшие события