菜单

91天算法计划

相关源文件

91天算法计划是一项结构化的学习计划,旨在通过为期91天的持续练习帮助参与者掌握编码算法。与承诺快速掌握的短期计划不同,该计划基于算法熟练度需要知识和实践的稳定积累的原则。通过提供全面的学习路径并强制执行每日签到,参与者可以系统地提高他们的算法技能和解决问题的能力。

有关计划中每日挑战的信息,请参阅每日问题系统

来源: README.md39-47

计划理念

91天算法计划的创建是为了应对算法学习的短期计划的局限性。其核心理念是:

  1. 算法思维需要持续的练习,无法在几天或几周内掌握。
  2. 高强度的有责任感的练习能带来更好的结果。
  3. 涵盖从基础到高级主题的结构化学习路径提供全面的知识。

该计划的口号概括了这一理念:“坚持下去,就会迎来豁然开朗的一天。

来源: README.md39-45

计划结构

91天算法计划分为“赛季”或“周期”,每个周期为91天。已进行多个赛季,每个赛季都根据参与者的反馈对材料和方法进行了改进。

来源: README.md39-47 SUMMARY.md30-35

涵盖的算法主题

该计划涵盖了广泛的算法主题,并以系统化的方式进行组织,逐步建立知识。核心主题包括:

每个主题都包括详细的讲义、示例问题和实现技术。该计划特别强调模式识别,以便参与者能够识别适合不同问题类型的算法或数据结构。

来源: README.md128-156 thinkings/README.md13-35 SUMMARY.md5-28 SUMMARY.md31-33

学习材料

该计划提供丰富的学习材料以支持参与者的进步。

材料类型描述目的
讲义对算法概念的全面解释构建理论基础
问题集按难度和算法类型分类通过实践应用概念
解决方案指南对解决方案方法的详细解释学习解决问题的策略
视频会议针对复杂主题的互动会话澄清概念并回答问题
代码模板常见算法的可重用模式加速实现

不同赛季的示例主题

  • 第一赛季:二分查找、双指针技巧
  • 第三赛季:高级二分查找应用、专业算法

来源: README.md50-51 SUMMARY.md31-34

问题解决方法

该计划通过日常挑战的练习,教授系统性的算法问题解决方法。

这种方法通过计划的每日练习结构得到加强,在练习中参与者:

  1. 每天接收一个新问题
  2. 按照方法论实现解决方案
  3. 提交解决方案并签到
  4. 将自己的方法与提供的解决方案进行比较
  5. 与其他参与者讨论替代方法

来源: README.md39-47 templates/problems/1014.best-sightseeing-pair.md1-64

问题分类

91天算法计划中的问题经过精心分类,以确保参与者接触到各种挑战。

类别描述来自仓库的示例
简单题基础算法概念,通常通过直接实现解决。两数之和、有效的括号、反转链表
中等题更复杂的问题,需要更深入的算法知识。LRU 缓存、二叉树遍历、动态规划模式
难题结合多种技术的进阶问题。两个排序数组的中位数、单词搜索 II、LFU 缓存
公司特定特定科技公司经常询问的问题。在问题描述中注明。
专题特定专注于特定算法技术的问题。二分查找、动态规划、图算法

问题来自仓库的大量收藏,其中包括:

  • 超过 200 个问题解决方案
  • 算上专题,大约有 300 个问题
  • 多种编程语言的问题解决方案

来源: README.md186-191 collections/easy.md1-50 collections/medium.md1-135 collections/hard.md1-65

参与流程

参与91天算法计划包括:

  1. 在新赛季开始时加入
  2. 遵循每日课程
  3. 解决每日分配的问题
  4. 签到来保持责任感
  5. 参与讨论
  6. 回顾讲义和解决方案

该计划通过其签到机制强制执行高强度练习,这有助于参与者在整个91天期间保持一致性。

来源: README.md39-47 README.md47

资源与社区

该计划提供了各种资源来支持参与者。

  1. GitHub 仓库:包含所有问题解决方案和讲义。
  2. 讲义:对算法概念的全面解释。
  3. 聊天群组:用于讨论和支持。
  4. 视频会议:用于深入探讨复杂主题。

该计划强调了社区方面,鼓励参与者分享他们的方法并相互学习。

来源: README.md47-51 SUMMARY.md30-35

结论

91天算法计划提供了一种结构化的、全面的方法,通过持续练习和系统学习来掌握算法。通过涵盖从基础数据结构到高级算法技术的广泛主题,并通过其签到系统强制执行每日练习,该计划帮助参与者建立强大的算法思维技能,这些技能对于技术面试和现实世界的问题解决非常有价值。

该计划的成功建立在其对算法精通并非来自死记硬背或快速修复,而是来自长期的持续练习的认识之上——强调只要坚持不懈,最终会取得显著的成长。

来源: README.md39-47 README.md45