Как прошить LeetCode?

LeetCode

Я «младший брат Люцифер», упомянутый в ответе @qubit.

Прошло несколько месяцев с тех пор, как я начал готовить алгоритм, за это время я сильно вырос, отбрасывая вопросы, теперь у меня есть собственное понимание процедур и типов вопросов, и я все еще чувствую себя довольно много. . Я сам не эксперт по алгоритмам, но я из тех, кто может наверстать усердие. Но после нескольких месяцев обучения и практики собеседование стало не только удобнее, но и писать чистый, элегантный и производительный код на работе стало проще.

Я упорядочил свой опыт написания вопросов за последние несколько месяцев.Помимо того, что я делился идеями и ключевыми моментами, я также отсортировал знания по горизонтали и стараюсь делать это изо всех сил.一题多解,多题同解. Сейчас в репозитории GitHub 18к+ ✨, всем просьба обратить внимание. Адрес склада:azl397985856/leetcode

Итак, сегодня я собираюсь ответить на этот вопрос и рассказать о我是怎么刷leetcode的.

Для меня,刷题的过程其实就是学习数据结构和算法的过程, а не только для того, чтобы расчесывать вопросы, чтобы вы могли чувствовать刷题的乐趣.

В первый раз нажмите метку, чтобы почистить, а во второй раз один вопрос может быть решен более чем одним вопросом, и несколько вопросов могут быть решены одновременно.

Лично я предлагаю, чтобы, когда вы чистите зубы в первый раз, вы могли быстро следить за тегами и быстро чувствовать процедуры общих структур данных и алгоритмов, чтобы у вас было перцептивное понимание.

Второй раз мы не можем быть такими, как в первый раз, на этом этапе нам нужно рассмотреть проблему с разных сторон и постараться сделать это.一题多解,多题同解. Нам необходимо иметь глубокое понимание природы проблемы, и мы сможем использовать аналогии при столкновении с подобными проблемами в будущем.

Но многие люди делали это несколько раз, и до сих пор не имеют ни малейшего понятия, когда они сталкиваются с новыми вопросами.Это общая проблема.Что мне делать? Давайте продолжим чтение.

Кривая памяти Эббингауза

Обобщение и запоминание — очень важная часть обучения и написания вопросов. Независимо от того, на каком этапе нам нужно сделать соответствующее резюме, чтобы, оглядываясь в будущее, мы могли быстро его прочитать и подобрать.

Как только информация поступает в мозг, начинается забывание. Скорость забывания сначала увеличивается, а затем замедляется с течением времени, особенно в течение короткого периода времени, который только что вспомнили, забывание является самым быстрым, что представляет собой знаменитую кривую забывания Эббингауза.

Анки основан на艾宾浩斯记忆曲线Разработанное программное обеспечение, это обучающее программное обеспечение, которое облегчает запоминание. Поскольку это индивидуальный многофункциональный метод запоминания, он может значительно сократить время обучения и значительно улучшить ваши способности к обучению. Для себя я написал много вопросов и карточек по литкоду в Anki, и Anki автоматически назначает время проверки для меня, что значительно снижает мою когнитивную нагрузку и повышает эффективность проверки.

это моеanki cardВы можете импортировать и использовать его напрямую, но рекомендуется делать свои карты, ведь ситуации у всех разные, и процесс изготовления карт — это тоже процесс памяти.

Инструкции:

anki — Файл — Импорт — Выберите «Упакованная коллекция Anki» из раскрывающегося формата, затем выберите загруженный файл и нажмите «ОК».

Для получения дополнительной информации о том, как использовать anki, см.официальный сайт анки

Список карт пока обновлен (перечислены только фронты)

  • Каковы ключевые моменты дихотомического решения проблем и каковы связанные с ними проблемы?
  • Как использовать характеристики стека для упрощения работы и какие темы задействованы?
  • Каковы идеи и связанные темы проблемы двойного указателя?
  • Каковы идеи и связанные темы проблемы скользящего окна?
  • Каковы идеи и связанные темы метода поиска с возвратом?
  • Каковы ключевые моменты решения задач по теории чисел и каковы связанные с ними задачи?
  • Каковы ключевые моменты битовой операции для решения проблем и каковы связанные с этим проблемы?

тот же пункт назначения

После того, как вы просмотрите множество вопросов, вы обнаружите, что существует так много типов вопросов, поэтому важно освоить типы существующих вопросов. Таким образом, многие учителя, создавшие вопросы по leetcode, также проделали соответствующую работу на основе первоначальных вопросов.扩展(например, две суммы, две суммы2, три суммы, четыре суммы и т. д.) или改造(Это делает менее очевидным возможность сразу увидеть суть проблемы, как, например, в задаче об обезьяне, поедающей банан).

Алгоритмы в основном следующие:

  • Основные навыки: Разделяй и властвуй, Разделяй, Жадность
  • Алгоритмы сортировки: быстрая сортировка, сортировка слиянием, сортировка подсчетом
  • Алгоритмы поиска: поиск с возвратом, рекурсия, обход в глубину, обход в ширину, бинарное дерево поиска и др.
  • Теория графов: кратчайший путь, минимальное остовное дерево
  • Динамическое программирование: задача о рюкзаке, самая длинная подпоследовательность

Основные структуры данных следующие:

  • Массивы и связанные списки: односвязные/двухсвязные списки
  • стек и очередь
  • хеш-таблица
  • Куча: максимальная куча/минимальная куча
  • Деревья и графики: последний общий предок, поиск союза
  • Строка: префиксное дерево (словарное дерево) / суффиксное дерево

(картинка из литкода)

сохраняются в

Достигнув вышеуказанных пунктов, нам все еще нужно проявить настойчивость. Это на самом деле самое сложное, что бы вы ни делали, настойчивость — это самое важное и самое сложное.

Чтобы контролировать себя и одновременно помогать всем расти, я провожу в группе мероприятие «Ежедневный вопрос». вместе, чтобы обсуждать вопросы более целенаправленно и получать больше отзывов. И эти вопросы можно записывать, и в дальнейшем они будут фильтроваться и добавляться в модуль решения проблем склада.

Если вам трудно держать себя в руках, вы также можете присоединиться к моему групповому чату, и мы будем контролировать друг друга. Кроме того, я также специально создал слабую группу, если вам интересно, вы можете присоединиться к группе и покричать в группе.

Подписывайтесь на меня

Вы можете обратить внимание на мою публичную учетную запись «Brain Hole Front End», и публичная учетная запись ответит на «Big Front End» в фоновом режиме и перетащит вас в «Big Front End Interview Collection — Graphical Front End Group». Ответьте на «leetcode» и перетащите вас в «группу обмена решениями проблем leetcode».

Наконец, я желаю вам всем счастливого вопроса и получить ваше любимое предложение.