快来算法吧

liweiwei1419 ... 2021-12-4 About 13 min

说明:这个网站的通知功能并不好,很多大家的留言我都不能及时看到,所以大家如果有什么问题急需我反馈的话,可以加我的微信 13671597056,平常聊聊天也是可以的。就是不要找我做新题(有好的问题推荐给我,我还是很欢迎的,就是不要给我推荐偏竞赛的,面试笔试都不会考的问题,我做这些问题、讲解这些问题意义不大),很多题目我都不会做。我只是更多时候站在初学者的角度讲解问题,讲得更细致一点,感谢大家理解和支持!

图片裂掉了,大家就直接点击「题解链接」,到「力扣」网上看图就可以了,实在不行就再联系我。

# 📝 变更日志

# 2022 年 6 月 16 日(星期四)

# 2022 年 5 月 5 日(星期四)

# 2022 年 5 月 1 日(星期日)


好消息:「算法吧」于 2022 年 1 月 25 日(星期二)通过了通信管理局域名备案,并申请了 SSL 证书,「算法吧」部署在了国内的服务器上,可以通过 https://suanfa8.com (opens new window)https://www.suanfa8.com (opens new window) 访问了。

祝各位朋友们五一假期愉快!劳动者光荣。

祝愿在上海的朋友们和全国各地的朋友们能平安度过疫情,祝愿深陷俄罗斯和乌克兰战火的同胞们能幸免于难!

「算法吧」是什么?

  • 这是一个算法与数据结构的入门教程,使用 vuepress-theme-hope (opens new window) 构建,部署在阿里云服务器上(于 2022 年 1 月 16 日从 GitHub pages 迁移到 Docker 容器中运行的 nginx 服务);
  • 我编写题解、录制视频,主要针对初学的朋友,用于帮助初学的朋友们 入门学习算法。我会花很多时间清楚算法的来龙去脉、设计思想和原理。很少涉及高级、晦涩难懂的知识点,在讲解专有名词的时候,我会加上自己的理解和对应的通俗易懂的代替词。有了算法与数据结构的基础知识以后,高级算法与高级数据结构读者可以自行寻找资料进行学习;
  • 汇总了从 2019 年 6 月至今,我在学习算法的过程中写下的知识点总结、题解、录制的视频题解,现在赠送给你。

刷题建议

  • 使用「力扣」中文版的朋友,阅读题目的时候,需要点击到英文的界面,看看「Constraints」,知道数据范围。有一些题目中文题面没有同步更新。数据范围很多时候决定了这道题可以使用什么样的算法与数据结构
  • 理解一个问题的解法,一定要知道为什么,想清楚问题的思路,这样是更有效的,不可以记住问题的解法;
  • 有些问题的解法想不到很正常,把它当做例题来学习就可以;
  • 调试 可以解决绝大多数问题,如果有问题的话可以先自己思考、再看题解区。只要足够有耐心、勤于思考、认真调试,所有的问题都能得到解答;
  • 我遇见的刷题的朋友,都可以自己通过学习解决遇到的算法问题,我们遇到的「力扣」上的问题,即使不会做,都会有大佬分享题解。有一些题解看不明白没有关系:
    • 首先想清楚这篇题解是不是适合自己,如果不适合自己完全可以不看;
    • 如果是自己想要的题解,看不懂,可能是自己有一些知识的缺陷,花一点时间学习,一定能搞懂的。
  • 算法很有用,做算法题可以帮助我们理解算法知识点,通过面试,但是会做算法题也许没什么大用,可以看看 ACM 大佬是怎么说的:软件工程师和算法竞赛 (opens new window)
  • 刷题终究是「会做题」,不会做算法题真的没有什么关系,其它优点突出,能帮助我们找到适合自己的工作和平台,发挥价值就可以,不会做题的大佬我相信有很多很多;
  • 做算法题需要大量的时间,一个标签的问题不需要全部做完,不要完美主义,完美主义会浪费很多时间

说明

  • 本站为公益项目,内容开源,可以随意取用,转载需注明来源,请勿商用;
  • 时间精力有限,有错误和不足之处在所难免,反馈请到 留言反馈 (opens new window)
  • 网站的内容比较多,最近在做格式调整,如果您发现格式太乱,影响阅读,可以在本项目的 issue (opens new window) 留言,把链接贴一下,我看到了会处理的,感谢您的支持。

欢迎来到「算法吧」

  • 坚持分享不易,且本站不收费,即使是写刷题的东西,我已经尽力做了,但不可能满足所有朋友的要求,欢迎大家提建议和意见,但请不要提太多要求,珍惜彼此时间。恶意留言和评论均不会理会哦;
  • 祝愿来到算法吧的朋友,以后都能发大财,不为钱的事情而烦恼,如果有机会,还可以回馈家庭和社会、帮助他人。

# 2022 年 3 月 23 日(星期三)

  • 添加了「自我介绍」视频(不是面试的自我介绍指导视频),你可以在视频里看到我。可以在 视频讲解 (opens new window) 页面看到这个视频。

# 2022 年 3 月 8 日(星期二)

# 2022 年 2 月 7 日(星期一)

# 2022 年 1 月 26 日(星期三)

  • 把「二分查找」视频的 http 服务改成了 https 服务,并且通过域名访问。

# 2022 年 1 月 20 日(星期四)

上传了「二分查找」精讲的知识点的视频讲解,地址在 http://8.142.32.34/binary-search/videos/01/ (opens new window),这部分视频没有在 B 站上传(因为归并排序的练习和快速排序的练习还没有录出来)。

# 2022 年 1 月 13 日(星期四)

  • 使用 vscode 的自动格式化功能,把 markdown 文件的格式进行了统一的调整;
  • 为有视频的题解和知识点讲解增加了视频和观看视频的提示。

「算法吧」暂停大的更新啦!

到今天为止,「算法吧」绝大多数内容已经完成,作者该去做别的事情了,当然「算法吧」还有很多问题,等待以后的时间里慢慢完善,感谢朋友们的支持!

# 2022 年 1 月 12 日(星期三)

  • 针对读者提出的格式建议进行了修改;
  • 把「二分查找」和「单调栈」的题解格式进行了进一步的修改:
    • 检查了标题的级别是否正确;
    • 粘贴力扣的题面的时候,把数据范围里出现 104105 的地方修改成 10^410^5 或者 10410^410510^5

# 2021 年 12 月 28 日至 2022 年 1 月 11 日

  • 针对「专题精讲」 27 个专题的题解进行了格式的统一调整,很繁琐,消耗了很多时间;
  • 在本项目 github 的 commits (opens new window) 可以看到具体的提交,在这里就不重复粘贴了。

# 2021 年 12 月 28 日(星期一)

  • 添加了「哈希表」「拓扑排序」,调整了大多数题解的格式;
  • 删除了还未整理好的专题链接。

# 2021 年 12 月 27 日(星期天)

  • 把「精选题解」去掉了,取代的是每一个专题的精讲,并且安排了顺序。

# 2021 年 12 月 25 日(星期六)

  • 添加了「栈」「队列」「优先队列」「哈希表」的习题(只初步做了格式处理,工作量巨大)。

# 2021 年 12 月 24 日(星期五)

  • 添加了「滑动窗口」的练习分类(完成 90%);
  • 添加了「双指针」的练习分类。

# 2021 年 12 月 23 日(星期四)

  • 添加了「回溯算法」的练习分类(未完成,工作量巨大);
  • 添加了「滑动窗口」的练习分类。

# 2021 年 12 月 22 日(星期三)

  • 恢复了「链表」专栏,添加了「闲聊」专栏;
  • 添加了一些杂七杂八的文章;
  • 调整了 build 的内存大小;
  • 修正了「最长公共子序列」的题解链接。

# 2021 年 12 月 21 日(星期二)

  • 补充了「链表问题分类」专栏里的练习题,已经完成 80% 的内容。

# 2021 年 12 月 20 日(星期一)

  • 添加了「链表问题分类」专栏;
  • 添加了「二分查找」的「最大值极小化」的题解。

# 2021 年 12 月 19 日(星期天)

  • 添加了「动态规划精讲」专栏的「背包问题」和「树形 DP 问题」;
  • 「动态规划精讲」内容整理、格式调整、二次审核(耗时很长、需要慢慢做);
  • 把导航栏的「精讲」合并在一起,添加了「视频题解」列表。

# 2021 年 12 月 18 日(星期六)

  • 重新汇总了「二分查找」习题列表;
  • 添加了一些「动态规划」问题的题解。

# 2021 年 12 月 17 日(星期五)

  • 「二分查找精讲」专栏增加了第 4 节(二分查找万能模板)的内容;
  • 把「二分查找精讲」专栏里的习题做了进一步的分类;
  • 更新了「精选题解」里 3 道「滑动窗口」的题目。

# 2021 年 12 月 16 日(星期四)

  • 重写了「力扣」第 35 题 题解 (opens new window) ,把一些常见的问题做了汇总;
  • 重修了「二分查找精讲」专栏,做了一些修修补补的工作。

# 2021 年 12 月 15 日(星期三)

  • 添加了「并查集精讲」专栏;
  • 把第 1 章递归、时间复杂度、循环不变量的内容做了精简与合并;
  • 添加了「并查集精讲」的练习,并没有做进一步整理和顺序调整;
  • 把「并查集精讲」的练习做了一些格式上的调整,并且增加了「总结」的内容;
  • 把「图论」的内容放在了导航栏;
  • 添加了「优先队列精讲」导航。

还没有完成的事情是:

# 2021 年 12 月 14 日(星期二)

  • 修改了「树状数组」「线段树」「字典树」的格式;
  • 给「二分查找精讲」增加了一些学习态度上的话;
  • 把主页侧边栏进行了重新分类,只设置二级目录,便于学习和阅读。

# 2021 年 12 月 13 日(星期一)

  • 重新编写了「动态规划」精讲专栏的第 1 到 9 节的内容,每一节内容做到足够精简和主题明确;
  • 重新编写了「字典树」部分的 5 节内容;
  • 补充了「线段树」部分的 4 节内容,但是格式还未做修改;
  • 补充了「树状数组」部分的 4 节内容,但是格式还未做修改;
  • 给「二分查找」专栏添加了一些阅读提示。

# 2021 年 12 月 12 日(星期天)

  • 更换了「二分查找」两边夹的动画,使得「 leftright 向中间靠拢」的语义体现得更清晰;
  • 重新编写了「二分查找」精讲专栏的第 6 节和第 7 节。第 8 节和第 9 节把标题写了;
  • 把侧边栏的「二分查找」的内容合并到「导航栏」的「二分查找精讲」,「侧边栏」只保留了「习题列表」;
  • 重新编写了「二分查找」精讲专栏的第 9 节、第 10 节,这部分内容已经完结。

# 2021 年 12 月 11 日(星期六)

  • 重新编写了「二分查找」精讲专栏的第 1 到 3 节,并且增加了第 10 节的内容《从学习「二分查找」窥见算法学习的一般方法》;
  • 重新编写了「二分查找」精讲专栏的第 4 节和第 5 节;
  • 把「最小生成树」划分了章节,使得每一部分知识最小化,便于阅读。

# 2021 年 12 月 10 日(星期五)

  • 添加了「二分查找」「动态规划」专栏;
  • 确立了写作要点:拆分细致、图文并茂、思维导图、先自动编号、以后再确定标题的 url;
  • 把「按分类查找」「按标签查找」「时间线」作为网站功能在「导航栏」进行了合并。

# 2021 年 12 月 8 日(星期三)

  • 把「侧边栏」23 个章节分成了 5 个部分,避免太长的列表,让读者感觉很不舒服;
  • 添加了「算法吧导引」(思维导图)和刷题建议。

# 2021 年 12 月 7 日(星期二)

  • 对内容做了较详细的划分,尽量让每一章的内容较少;
  • 编排目录,链接到「力扣」,而不做复制粘贴,制作这个网站只是想起到分类索引的目的。

# 「力扣」主页签名

  • 很认真写题解,不追求数量。写题解的目的:知识分享、交流和科普,帮助初学者入门和掌握必要的算法与数据结构知识;
  • 所以不会写偏题、难题和有难度、技巧的问题。祝愿各位朋友都能找到自己满意的工作! 如果有问题的话可以先自己思考、再看评论区。只要足够有耐心、勤于思考、认真调试,所有的问题都能得到解答;
  • 不是大佬,不是老师,叫名字就可以。我没有时间做题了,很少会看留言和评论。 私信请不要讨论具体的问题和细节,我不是做题高手。可以聊天、吹牛啥的。 要想深入学习算法,看《算法 4》和《算法导论》(这两本书不教做题),如果只是想过面试,直接做题、看题解。 不用关注和点赞,已经够多了,常见的基础问题下面很容易找到我的题解。
Last update: May 2, 2022 13:25
Contributors: suanfa8 , liweiwei1419