[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-292":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":35,"discoverSource":36},292,"fucking-algorithm","labuladong\u002Ffucking-algorithm","labuladong","Crack LeetCode, not only how, but also why. ","https:\u002F\u002Flabuladong.online\u002F",null,"Markdown",134184,23594,2267,2,0,107,601,721,787,false,"master",[24,25,26,27,28,29,30,31],"algorithms","computer-science","data-structures","dynamic-programming","dynamic-programming-algorithm","interview-questions","kmp","leetcode","2026-06-17 04:00:02","[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=labuladong\u002Ffucking-algorithm&type=Date)](https:\u002F\u002Fstar-history.com\u002F#labuladong\u002Ffucking-algorithm&Date)\n\n\nEnglish version is on [labuladong.online](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fen\u002F) too. Just enjoy：)\n\n# labuladong 的算法笔记\n\n本仓库总共 60 多篇原创文章，都是基于 LeetCode 的题目，涵盖了所有题型和技巧，而且一定要做到**举一反三，通俗易懂**，绝不是简单的代码堆砌，后面有目录。\n\n我先吐槽几句。**刷题刷题，刷的是题，培养的是思维，本仓库的目的就是传递这种算法思维**。我要是只写一个包含 LeetCode 题目代码的仓库，有个锤子用？没有思路解释，没有思维框架，顶多写个时间复杂度，那玩意一眼就能看出来。\n\n只想要答案的话很容易，题目评论区五花八门的答案，动不动就秀 python 一行代码解决，有那么多人点赞。问题是，你去做算法题，是去学习编程语言的奇技淫巧的，还是学习算法思维的呢？你的快乐，到底源自复制别人的一行代码通过测试，已完成题目 +1，还是源自自己通过逻辑推理和算法框架不看答案写出解法？\n\n网上总有大佬喷我，说我写的东西太基础，要么说不能借助框架思维来学习算法。我只能说大家刷算法就是找工作吃饭的，不是打竞赛的，我也是一路摸爬滚打过来的，我们要的是清楚明白有所得，不是故弄玄虚无所指。\n\n不想办法做到通俗易懂，难道要上来先把《算法导论》吹上天，然后把人家都心怀敬仰地劝退？\n\n**做啥事情做多了，都能发现套路的，我把各种算法套路框架总结出来，相信可以帮助其他人少走弯路**。我这个纯靠自学的小童鞋，花了一年时间刷题和总结，自己写了一份算法小抄，后面有目录，这里就不废话了。\n\n## 在开始学习之前\n\n**1、先给本仓库点个 star，满足一下我的虚荣心**，文章质量绝对值你一个 star。我还在继续创作，给我一点继续写文的动力，感谢。\n\n**2、建议收藏我的在线网站，每篇文章开头都有对应的力扣题目链接，可以边看文章边刷题，一共可以手把手带你刷 500 道题目**：\n\n2024 最新地址：https:\u002F\u002Flabuladong.online\u002Falgo\u002F\n\n~~GitHub Pages 地址：https:\u002F\u002Flabuladong.online\u002Falgo\u002F~~\n\n~~Gitee Pages 地址：https:\u002F\u002Flabuladong.gitee.io\u002Falgo\u002F~~\n\n## labuladong 刷题全家桶简介\n\n### 一、算法可视化面板\n\n我的算法网站、所有配套插件都集成了一个算法可视化工具，可以对数据结构和递归过程进行可视化，大幅降低理解算法的难度。几乎每道题目的解法代码都有对应的可视化面板，具体参见下方介绍。\n\n\n### 二、学习网站\n\n内容当然是我的系列算法教程中最核心的部分，我的算法教程都发布在网站 [labuladong.online](https:\u002F\u002Flabuladong.online\u002Falgo\u002F) 上，相信你会未来会在这里花费大量的学习时间，而不是仅仅加入收藏夹~\n\n![](https:\u002F\u002Flabuladong.github.io\u002Fpictures\u002F简介\u002Fweb_intro1.jpg)\n\n### 三、Chrome 插件\n\n**主要功能**：Chrome 插件可以在中文版力扣或英文版 LeetCode 上快捷查看我的「题解」或「思路」，并添加了题目和算法技巧之间的引用关系，可以和我的网站\u002F公众号\u002F课程联动，给我的读者提供最丝滑的刷题体验。安装使用手册见下方目录。\n\n![](https:\u002F\u002Flabuladong.github.io\u002Fpictures\u002F简介\u002Fchrome_intro.jpg)\n\n\n### 四、vscode 插件\n\n**主要功能**：和 Chrome 插件功能基本相同，习惯在 vscode 上刷题的读者可以使用该插件。安装使用手册见下方目录。\n\n![](https:\u002F\u002Flabuladong.github.io\u002Fpictures\u002F简介\u002Fvs_intro.jpg)\n\n\n### 五、Jetbrains 插件\n\n**主要功能**：和 Chrome 插件功能基本相同，习惯在 Jetbrains 家的 IDE（PyCharm\u002FIntellij\u002FGoland 等）上刷题的读者可以使用该插件。安装使用手册见下方目录。\n\n![](https:\u002F\u002Flabuladong.github.io\u002Fpictures\u002F简介\u002Fjb_intro.jpg)\n\n\n最后祝大家学习愉快，在题海中自在遨游！\n\n\n# 文章目录\n\n\u003C!-- table start -->\n\n\n* [本站简介](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fhome\u002F)\n\n* [针对初学和速成的学习规划](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fplan\u002F)\n  * [速成目录学习规划](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fquick-learning-plan\u002F)\n  * [完整目录学习规划](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fbeginner-learning-plan\u002F)\n  * [算法刷题的重点和坑](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fhow-to-learn-algorithms\u002F)\n  * [习题章节的练习\u002F复习方法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fhow-to-practice\u002F)\n\n* [配套学习工具使用指南](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Ftools\u002F)\n  * [AI 助教随时答疑](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fai-assistant\u002F)\n  * [算法可视化面板使用说明](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fvisualize\u002F)\n  * [算法游戏玩法及汇总](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fgame\u002F)\n  * [配套 Chrome 刷题插件](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fchrome\u002F)\n  * [配套 vscode\u002Fcursor 刷题插件](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fvscode\u002F)\n  * [配套 JetBrains 刷题插件](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fjetbrains\u002F)\n  * [本站付费会员](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fsite-vip\u002F)\n\n* [入门：编程语言基础及练习](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002F)\n  * [本章导读](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fprogramming-language-basic\u002F)\n  * [C++ 语言基础](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fprogramming-language-basic\u002Fcpp\u002F)\n  * [Java 语言基础](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fprogramming-language-basic\u002Fjava\u002F)\n  * [Golang 语言基础](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fprogramming-language-basic\u002Fgolang\u002F)\n  * [Python 语言基础](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fprogramming-language-basic\u002Fpython\u002F)\n  * [JavaScript 语言基础](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fjs\u002F)\n  * [力扣\u002FLeetCode 解题须知](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fleetcode\u002F)\n  * [编程语言刷题实践](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fprogramming-language-basic\u002Flc-practice\u002F)\n  * [ACM 模式代码模板](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Facm-mode\u002F)\n\n* [基础：数据结构及排序精讲](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fquick-start\u002F)\n  * [本章导读](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fdata-structure-basic\u002F)\n  * [时间空间复杂度入门](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fcomplexity-basic\u002F)\n\n  * [手把手带你实现动态数组](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdynamic-array\u002F)\n    * [数组（顺序存储）基本原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Farray-basic\u002F)\n    * [动态数组代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Farray-implement\u002F)\n\n  * [手把手带你实现单\u002F双链表](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Flinked-list\u002F)\n    * [链表（链式存储）基本原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Flinkedlist-basic\u002F)\n    * [链表代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Flinkedlist-implement\u002F)\n    * [【游戏】实现贪吃蛇](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fsnake\u002F)\n\n  * [数组链表的种种变换](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Farr-linked\u002F)\n    * [环形数组技巧及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fcycle-array\u002F)\n    * [跳表核心原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fskip-list-basic\u002F)\n    * [位图原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbitmap\u002F)\n\n  * [手把手带你实现队列\u002F栈](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fqueue-stack\u002F)\n    * [队列\u002F栈基本原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fqueue-stack-basic\u002F)\n    * [用链表实现队列\u002F栈](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Flinked-queue-stack\u002F)\n    * [用数组实现队列\u002F栈](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Farray-queue-stack\u002F)\n    * [双端队列（Deque）原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fdeque-implement\u002F)\n\n  * [哈希表的原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fhash-table\u002F)\n    * [哈希表核心原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fhashmap-basic\u002F)\n    * [用拉链法实现哈希表](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fhashtable-chaining\u002F)\n    * [线性探查法的两个难点](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Flinear-probing-key-point\u002F)\n    * [线性探查法的两种代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Flinear-probing-code\u002F)\n    * [哈希集合的原理及代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fhash-set\u002F)\n\n  * [哈希表结构的种种变换](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fhash-table-variation\u002F)\n    * [用链表加强哈希表（LinkedHashMap）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fhashtable-with-linked-list\u002F)\n    * [用数组加强哈希表（ArrayHashMap）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fhashtable-with-array\u002F)\n    * [布隆过滤器原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbloom-filter\u002F)\n\n  * [二叉树结构及遍历](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fbinary-tree\u002F)\n    * [二叉树基础及常见类型](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbinary-tree-basic\u002F)\n    * [二叉树的递归\u002F层序遍历](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbinary-tree-traverse-basic\u002F)\n    * [DFS 和 BFS 的适用场景](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fuse-case-of-dfs-bfs\u002F)\n    * [多叉树的递归\u002F层序遍历](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fn-ary-tree-traverse-basic\u002F)\n\n  * [二叉树结构的种种变换](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fbinary-tree\u002F)\n    * [二叉搜索树的应用及可视化](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Ftree-map-basic\u002F)\n    * [红黑树的完美平衡及可视化](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Frbtree-basic\u002F)\n    * [Trie\u002F字典树\u002F前缀树原理及可视化](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Ftrie-map-basic\u002F)\n    * [二叉堆核心原理及可视化](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbinary-heap-basic\u002F)\n    * [二叉堆\u002F优先级队列代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbinary-heap-implement\u002F)\n    * [线段树核心原理及可视化](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fsegment-tree-basic\u002F)\n    * [数据压缩和霍夫曼树](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fhuffman-tree\u002F)\n    * [正在更新 ing](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fupdating\u002F)\n\n  * [图结构基础及算法概览](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fgraph-theory\u002F)\n    * [图论中的基本术语](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fgraph-terminology\u002F)\n    * [图结构的通用代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fgraph-basic\u002F)\n    * [图结构的 DFS\u002FBFS 遍历](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fgraph-traverse-basic\u002F)\n    * [欧拉图和一笔画游戏](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Feulerian-graph\u002F)\n    * [图结构最短路径算法概览](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fgraph-shortest-path\u002F)\n    * [最小生成树算法概览](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fgraph-minimum-spanning-tree\u002F)\n    * [Union Find 并查集原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Funion-find-basic\u002F)\n    * [正在更新 ing](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fupdating\u002F)\n\n  * [十大排序算法原理及可视化](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fsorting\u002F)\n    * [本章导读](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fsorting\u002F)\n    * [排序算法的关键指标](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fsort-basic\u002F)\n    * [选择排序所面临的问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fselect-sort\u002F)\n    * [拥有稳定性：冒泡排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbubble-sort\u002F)\n    * [运用逆向思维：插入排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Finsertion-sort\u002F)\n    * [突破 O(N^2)：希尔排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fshell-sort\u002F)\n    * [妙用二叉树前序位置：快速排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fquick-sort\u002F)\n    * [妙用二叉树后序位置：归并排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fmerge-sort\u002F)\n    * [二叉堆结构的运用：堆排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fheap-sort\u002F)\n    * [全新的排序原理：计数排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fcounting-sort\u002F)\n    * [博采众长：桶排序](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fbucket-sort\u002F)\n    * [基数排序（Radix Sort）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Fradix-sort\u002F)\n\n  * [正在更新 ing](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fupdating\u002F)\n\n\n* [第零章、核心刷题框架汇总](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fcore\u002F)\n  * [本章导读](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fcore-intro\u002F)\n  * [学习数据结构和算法的框架思维](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Falgorithm-summary\u002F)\n  * [双指针技巧秒杀七道链表题目](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Flinked-list-skills-summary\u002F)\n  * [双指针技巧秒杀七道数组题目](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Farray-two-pointers-summary\u002F)\n  * [滑动窗口算法核心代码模板](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fsliding-window-framework\u002F)\n  * [二叉树系列算法核心纲领](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbinary-tree-summary\u002F)\n  * [一个视角 + 两种思维模式搞定递归](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Funderstand-recursion\u002F)\n  * [动态规划解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fdynamic-programming-framework\u002F)\n  * [回溯算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbacktrack-framework\u002F)\n  * [BFS 算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbfs-framework\u002F)\n  * [回溯算法秒杀所有排列\u002F组合\u002F子集问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fpermutation-combination-subset-all-in-one\u002F)\n  * [贪心算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fgreedy\u002F)\n  * [分治算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fdivide-and-conquer\u002F)\n  * [算法时空复杂度分析实用指南](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fcomplexity-analysis\u002F)\n\n\n* [第一章、经典数据结构算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fds\u002F)\n  * [手把手刷链表算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Flinked-list\u002F)\n    * [双指针技巧秒杀七道链表题目](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Flinked-list-skills-summary\u002F)\n    * [链表双指针经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Flinkedlist-two-pointers\u002F)\n    * [单链表的花式反转方法汇总](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Freverse-linked-list-recursion\u002F)\n    * [如何判断回文链表](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fpalindrome-linked-list\u002F)\n\n  * [手把手刷数组算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Farray\u002F)\n    * [双指针技巧秒杀七道数组题目](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Farray-two-pointers-summary\u002F)\n    * [【游戏】消消乐游戏](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fmatch-three\u002F)\n    * [二维数组的花式遍历技巧](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002F2d-array-traversal-summary\u002F)\n    * [数组双指针经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Farray-two-pointers\u002F)\n    * [【游戏】生命游戏](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Flife-game\u002F)\n    * [一个方法团灭 nSum 问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fnsum\u002F)\n    * [小而美的算法技巧：前缀和数组](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fprefix-sum\u002F)\n    * [前缀和技巧经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fperfix-sum\u002F)\n    * [小而美的算法技巧：差分数组](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fdiff-array\u002F)\n    * [滑动窗口算法核心代码模板](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fsliding-window-framework\u002F)\n    * [滑动窗口算法经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fsliding-window\u002F)\n    * [滑动窗口延伸：Rabin Karp 字符匹配算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Frabinkarp\u002F)\n    * [二分搜索算法核心代码模板](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbinary-search-framework\u002F)\n    * [二分搜索左闭右开写法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbinary-search-left-open\u002F)\n    * [实际运用二分搜索时的思维框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fbinary-search-in-action\u002F)\n    * [二分搜索算法经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-search\u002F)\n    * [带权重的随机选择算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Frandom-pick-with-weight\u002F)\n    * [田忌赛马背后的算法决策](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fadvantage-shuffle\u002F)\n\n\n  * [经典队列\u002F栈算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fqueue-stack\u002F)\n    * [队列实现栈以及栈实现队列](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fstack-queue\u002F)\n    * [栈的经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fstack\u002F)\n    * [括号类问题汇总](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fparentheses\u002F)\n    * [队列的经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fqueue\u002F)\n    * [单调栈算法模板解决三道例题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fmonotonic-stack\u002F)\n    * [单调栈的几种变体及经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fmonotonic-stack\u002F)\n    * [单调队列结构解决滑动窗口问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fmonotonic-queue\u002F)\n    * [单调队列的通用实现及经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fmonotonic-queue\u002F)\n\n  * [手把手刷二叉树算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fbinary-tree\u002F)\n    * [二叉树系列算法核心纲领](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbinary-tree-summary\u002F)\n    * [二叉树心法（思路篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbinary-tree-part1\u002F)\n    * [二叉树心法（构造篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbinary-tree-part2\u002F)\n    * [二叉树心法（后序篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbinary-tree-part3\u002F)\n    * [二叉树心法（序列化篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fserialize-and-deserialize-binary-tree\u002F)\n    * [二叉搜索树心法（特性篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbst-part1\u002F)\n    * [二叉搜索树心法（基操篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbst-part2\u002F)\n    * [二叉搜索树心法（构造篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbst-part3\u002F)\n    * [二叉搜索树心法（后序篇）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbst-part4\u002F)\n\n  * [二叉树算法习题汇总](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002F100-bt\u002F)\n    * [本章导读](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fbinary-tree-practice\u002F)\n    * [用「遍历」思维解题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-traverse-i\u002F)\n    * [用「遍历」思维解题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-traverse-ii\u002F)\n    * [用「遍历」思维解题 III](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-traverse-iii\u002F)\n    * [用「分解问题」思维解题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-divide-i\u002F)\n    * [用「分解问题」思维解题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-divide-ii\u002F)\n    * [同时运用两种思维解题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-combine-two-view\u002F)\n    * [利用后序位置解题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-post-order-i\u002F)\n    * [利用后序位置解题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-post-order-ii\u002F)\n    * [利用后序位置解题 III](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-post-order-iii\u002F)\n    * [运用层序遍历解题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-level-i\u002F)\n    * [运用层序遍历解题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-tree-level-ii\u002F)\n    * [二叉搜索树经典例题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbst1\u002F)\n    * [二叉搜索树经典例题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbst2\u002F)\n\n  * [二叉树的拓展延伸](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fmore-bt\u002F)\n    * [拓展：最近公共祖先系列解题框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Flowest-common-ancestor-summary\u002F)\n    * [拓展：如何计算完全二叉树的节点数](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fcount-complete-tree-nodes\u002F)\n    * [拓展：惰性展开多叉树](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fflatten-nested-list-iterator\u002F)\n    * [拓展：归并排序详解及应用](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fmerge-sort\u002F)\n    * [拓展：快速排序详解及应用](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fquick-sort\u002F)\n    * [拓展：用栈模拟递归迭代遍历二叉树](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fiterative-traversal-binary-tree\u002F)\n\n  * [经典数据结构设计](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdesign\u002F)\n    * [算法就像搭乐高：手撸 LRU 算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Flru-cache\u002F)\n    * [算法就像搭乐高：手撸 LFU 算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Flfu\u002F)\n    * [常数时间删除\u002F查找数组中的任意元素](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Frandom-set\u002F)\n    * [哈希表更多习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fhash-table\u002F)\n    * [优先级队列经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbinary-heap\u002F)\n    * [TreeMap\u002FTreeSet 代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure-basic\u002Ftree-map-implement\u002F)\n    * [基本线段树的代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fsegment-tree-implement\u002F)\n    * [优化：实现动态线段树](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fsegment-tree-dynamic\u002F)\n    * [优化：实现懒更新线段树](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fsegment-tree-lazy-update\u002F)\n    * [线段树经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fsegment-tree\u002F)\n    * [Trie 树代码实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Ftrie-implement\u002F)\n    * [Trie 树算法习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Ftrie\u002F)\n    * [设计考场座位分配算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fexam-room\u002F)\n    * [更多经典设计习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fds-design\u002F)\n    * [实现霍夫曼编码压缩算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fhuffman-tree-implementation\u002F)\n    * [一致性哈希算法的原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fconsistent-hashing\u002F)\n    * [拓展：如何实现一个计算器](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fimplement-calculator\u002F)\n    * [拓展：两个二叉堆实现中位数算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Ffind-median-from-data-stream\u002F)\n    * [拓展：数组去重问题（困难版）](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fremove-duplicate-letters\u002F)\n\n\n  * [经典图算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fgraph\u002F)\n    * [二分图判定算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fbipartite-graph\u002F)\n    * [Hierholzer 算法寻找欧拉路径](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Feulerian-graph-hierholzer\u002F)\n    * [欧拉路径经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Feulerian-path\u002F)\n    * [环检测算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fcycle-detection\u002F)\n    * [拓扑排序算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Ftopological-sort\u002F)\n    * [Union-Find 并查集算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Funion-find\u002F)\n    * [并查集经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Funion-find\u002F)\n    * [Dijkstra 算法核心原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fdijkstra\u002F)\n    * [Dijkstra 拓展：带限制的最短路问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fdijkstra-follow-up\u002F)\n    * [Dijkstra 算法经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fdijkstra\u002F)\n    * [A* 算法核心原理及实现](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fa-star\u002F)\n    * [Kruskal 最小生成树算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fkruskal\u002F)\n    * [Prim 最小生成树算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Fprim\u002F)\n\n* [第二章、经典暴力搜索算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fbraute-force-search\u002F)\n  * [DFS\u002F回溯算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdfs\u002F)\n    * [回溯算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbacktrack-framework\u002F)\n    * [回溯算法实践：数独和 N 皇后问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fsudoku-nqueue\u002F)\n    * [【游戏】实现数独作弊器](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fsudoku\u002F)\n    * [回溯算法秒杀所有排列\u002F组合\u002F子集问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fpermutation-combination-subset-all-in-one\u002F)\n    * [解答回溯算法\u002FDFS算法的若干疑问](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbacktrack-vs-dfs\u002F)\n    * [一文秒杀所有岛屿题目](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fisland-dfs-summary\u002F)\n    * [【游戏】扫雷 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fminesweeper-ii\u002F)\n    * [球盒模型：回溯算法穷举的两种视角](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Ftwo-views-of-backtrack\u002F)\n    * [回溯算法实践：括号生成](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fgenerate-parentheses\u002F)\n    * [回溯算法实践：集合划分](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fpartition-to-k-equal-sum-subsets\u002F)\n    * [回溯算法经典习题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbacktrack-i\u002F)\n    * [回溯算法经典习题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbacktrack-ii\u002F)\n    * [回溯算法经典习题 III](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbacktrack-iii\u002F)\n\n  * [BFS 算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fbfs\u002F)\n    * [BFS 算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fbfs-framework\u002F)\n    * [【游戏】求解迷宫](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fmaze\u002F)\n    * [【游戏】华容道游戏](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fhuarong-road\u002F)\n    * [【游戏】连连看游戏](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fconnect-two\u002F)\n    * [BFS 经典习题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbfs\u002F)\n    * [BFS 经典习题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fbfs-ii\u002F)\n\n* [第三章、经典动态规划算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdp\u002F)\n  * [动态规划基本技巧](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdp-basic\u002F)\n    * [动态规划解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fdynamic-programming-framework\u002F)\n    * [动态规划设计：最长递增子序列](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Flongest-increasing-subsequence\u002F)\n    * [base case 和备忘录的初始值怎么定？](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fmemo-fundamental\u002F)\n    * [动态规划穷举的两种视角](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Ftwo-views-of-dp\u002F)\n    * [动态规划和回溯算法的思维转换](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fword-break\u002F)\n    * [对动态规划进行空间压缩](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fspace-optimization\u002F)\n    * [最优子结构原理和 dp 数组遍历方向](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Ffaq-summary\u002F)\n\n  * [子序列类型问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fsubsequence\u002F)\n    * [经典动态规划：编辑距离](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fedit-distance\u002F)\n    * [动态规划设计：最大子数组](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fmaximum-subarray\u002F)\n    * [经典动态规划：最长公共子序列](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Flongest-common-subsequence\u002F)\n    * [动态规划之子序列问题解题模板](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fsubsequence-problem\u002F)\n\n  * [背包类型问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fknapsack\u002F)\n    * [经典动态规划：0-1 背包问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fknapsack1\u002F)\n    * [经典动态规划：子集背包问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fknapsack2\u002F)\n    * [经典动态规划：完全背包问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fknapsack3\u002F)\n    * [背包问题的变体：目标和](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Ftarget-sum\u002F)\n\n  * [用动态规划玩游戏](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdp-game\u002F)\n    * [动态规划之最小路径和](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fminimum-path-sum\u002F)\n    * [动态规划帮我通关了《魔塔》](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fmagic-tower\u002F)\n    * [动态规划帮我通关了《辐射4》](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Ffreedom-trail\u002F)\n    * [旅游省钱大法：加权最短路径](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fcheap-travel\u002F)\n    * [多源最短路径：Floyd 算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdata-structure\u002Ffloyd\u002F)\n    * [经典动态规划：正则表达式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fregular-expression-matching\u002F)\n    * [经典动态规划：高楼扔鸡蛋](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fegg-drop\u002F)\n    * [经典动态规划：戳气球](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fburst-balloons\u002F)\n    * [经典动态规划：博弈问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fgame-theory\u002F)\n    * [一个方法团灭 LeetCode 打家劫舍问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fhouse-robber\u002F)\n    * [一个方法团灭 LeetCode 股票买卖问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdynamic-programming\u002Fstock-problem-summary\u002F)\n\n  * [动态规划习题集](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdp-basic\u002F)\n    * [打家劫舍问题模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Frob-house\u002F)\n    * [背包问题经典习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fknapsack\u002F)\n    * [动态规划经典习题 I](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fdynamic-programming-i\u002F)\n    * [动态规划经典习题 II](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fdynamic-programming-ii\u002F)\n\n  * [贪心类型问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fgreedy\u002F)\n    * [贪心算法解题套路框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fgreedy\u002F)\n    * [老司机加油算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fgas-station-greedy\u002F)\n    * [贪心算法之区间调度问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Finterval-scheduling\u002F)\n    * [扫描线技巧：安排会议室](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fscan-line-technique\u002F)\n    * [剪视频剪出一个贪心算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fcut-video\u002F)\n\n\n* [第四章、其他常见算法技巧](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fother\u002F)\n  * [数学运算技巧](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fmath\u002F)\n    * [一行代码就能解决的算法题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fone-line-solutions\u002F)\n    * [常用的位操作](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fbitwise-operation\u002F)\n    * [必知必会数学技巧](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fessential-technique\u002Fmath-techniques-summary\u002F)\n    * [【游戏】扫雷游戏地图生成器](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fgame\u002Fminesweeper\u002F)\n    * [谈谈游戏中的随机算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Frandom-algorithm\u002F)\n    * [讲两道常考的阶乘算法题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Ffactorial-problems\u002F)\n    * [如何高效寻找素数](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fprint-prime-number\u002F)\n    * [如何同时寻找缺失和重复的元素](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fmismatch-set\u002F)\n    * [几个反直觉的概率问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fprobability-problem\u002F)\n    * [数学技巧相关习题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fproblem-set\u002Fmath-tricks\u002F)\n\n  * [经典面试题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Finterview\u002F)\n    * [如何高效解决接雨水问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Ftrapping-rain-water\u002F)\n    * [一文秒杀所有丑数系列问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fugly-number-summary\u002F)\n    * [一个方法解决三道区间问题](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Finterval-problem-summary\u002F)\n    * [谁能想到，斗地主也能玩出算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fsplit-array-into-consecutive-subsequences\u002F)\n    * [烧饼排序算法](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fpancake-sorting\u002F)\n    * [字符串乘法计算](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fpractice-in-action\u002Fmultiply-strings\u002F)\n    * [如何判定完美矩形](https:\u002F\u002Flabuladong.online\u002Falgo\u002Ffrequency-interview\u002Fperfect-rectangle\u002F)\n\n* [更多内容](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fappendix\u002F)\n  * [计算机基础知识](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fcomputer-basics\u002F)\n    * [AI 时代的前端开发入门教程](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Ffrontend-introduction\u002F)\n    * [现代加密技术入门](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fencryption-intro\u002F)\n    * [深入理解 session 和 cookie](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fother-skills\u002Fsession-and-cookie\u002F)\n    * [深入理解 JSON Web Token (JWT)](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fhow-jwt-works\u002F)\n    * [认证和授权的区别与联系](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fauthentication-vs-authorization\u002F)\n    * [深入理解 OAuth 2.0 授权框架](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Foauth2-explained\u002F)\n    * [OAuth 2.0 和 OIDC 认证](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Foidc\u002F)\n    * [OAuth 2.0 与 PKCE](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fpkce\u002F)\n    * [深入理解单点登录 (SSO)](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fsso\u002F)\n    * [深入理解数字证书和 CA](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fcertificate-and-ca\u002F)\n    * [深入理解 TLS 密钥协商](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Ftls-key-exchange\u002F)\n    * [深入理解 mTLS 双向认证](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fcomputer-science\u002Fmtls\u002F)\n    * [初识 Linux 文件系统](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fother-skills\u002Flinux-file-system\u002F)\n    * [Linux的进程、线程、文件描述符是什么](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fother-skills\u002Flinux-process\u002F)\n    * [Linux 管道符的坑](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fother-skills\u002Flinux-pipeline\u002F)\n    * [Linux shell 的使用技巧](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fother-skills\u002Flinux-shell\u002F)\n    * [浅谈存储系统：LSM 树设计原理](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fother-skills\u002Flsm-tree\u002F)\n    * [正在更新 ing](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fupdating\u002F)\n\n  * [设计模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fmenu\u002Fdesign-pattern\u002F)\n    * [单例模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fsingleton\u002F)\n    * [工厂方法模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Ffactory-method\u002F)\n    * [抽象工厂模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fabstract-factory\u002F)\n    * [生成器模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fbuilder\u002F)\n    * [原型模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fprototype\u002F)\n    * [适配器模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fadapter\u002F)\n    * [组合模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fcomposite\u002F)\n    * [装饰模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fdecorator\u002F)\n    * [桥接模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fbridge\u002F)\n    * [观察者模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fobserver\u002F)\n    * [策略模式](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fdesign-pattern\u002Fstrategy\u002F)\n    * [正在更新 ing](https:\u002F\u002Flabuladong.online\u002Falgo\u002Fintro\u002Fupdating\u002F)\n\n\n\u003C!-- table end -->\n\n# 感谢如下大佬参与翻译\n\n按照昵称字典序排名：\n\n[ABCpril](https:\u002F\u002Fgithub.com\u002FABCpril), \n[andavid](https:\u002F\u002Fgithub.com\u002Fandavid), \n[bryceustc](https:\u002F\u002Fgithub.com\u002Fbryceustc), \n[build2645](https:\u002F\u002Fgithub.com\u002Fbuild2645), \n[CarrieOn](https:\u002F\u002Fgithub.com\u002FCarrieOn), \n[cooker](https:\u002F\u002Fgithub.com\u002Fxiaochuhub), \n[Dong Wang](https:\u002F\u002Fgithub.com\u002FCoder2Programmer), \n[ExcaliburEX](https:\u002F\u002Fgithub.com\u002FExcaliburEX), \n[floatLig](https:\u002F\u002Fgithub.com\u002FfloatLig), \n[ForeverSolar](https:\u002F\u002Fgithub.com\u002Fforeversolar), \n[Fulin Li](https:\u002F\u002Ffulinli.github.io\u002F), \n[Funnyyanne](https:\u002F\u002Fgithub.com\u002FFunnyyanne), \n[GYHHAHA](https:\u002F\u002Fgithub.com\u002FGYHHAHA), \n[Hi_archer](https:\u002F\u002Fhiarcher.top\u002F), \n[Iruze](https:\u002F\u002Fgithub.com\u002FIruze), \n[Jieyixia](https:\u002F\u002Fgithub.com\u002FJieyixia), \n[Justin](https:\u002F\u002Fgithub.com\u002FJustin-YGG), \n[Kevin](https:\u002F\u002Fgithub.com\u002FKevin-free), \n[Lrc123](https:\u002F\u002Fgithub.com\u002FLrc123), \n[lriy](https:\u002F\u002Fgithub.com\u002Flriy), \n[Lyjeeq](https:\u002F\u002Fgithub.com\u002FLyjeeq), \n[MasonShu](https:\u002F\u002Fgreenwichmt.github.io\u002F), \n[Master-cai](https:\u002F\u002Fgithub.com\u002FMaster-cai), \n[miaoxiaozui2017](https:\u002F\u002Fgithub.com\u002Fmiaoxiaozui2017), \n[natsunoyoru97](https:\u002F\u002Fgithub.com\u002Fnatsunoyoru97), \n[nettee](https:\u002F\u002Fgithub.com\u002Fnettee), \n[PaperJets](https:\u002F\u002Fgithub.com\u002FPaperJets), \n[qy-yang](https:\u002F\u002Fgithub.com\u002Fqy-yang), \n[realism0331](https:\u002F\u002Fgithub.com\u002Frealism0331), \n[SCUhzs](https:\u002F\u002Fgithub.com\u002Fbrucecat), \n[Seaworth](https:\u002F\u002Fgithub.com\u002FSeaworth), \n[shazi4399](https:\u002F\u002Fgithub.com\u002Fshazi4399), \n[ShuozheLi](https:\u002F\u002Fgithub.com\u002FShuoZheLi\u002F), \n[sinjoywong](https:\u002F\u002Fblog.csdn.net\u002FSinjoyWong), \n[sunqiuming526](https:\u002F\u002Fgithub.com\u002Fsunqiuming526), \n[Tianhao Zhou](https:\u002F\u002Fgithub.com\u002Ftianhaoz95), \n[timmmGZ](https:\u002F\u002Fgithub.com\u002FtimmmGZ), \n[tommytim0515](https:\u002F\u002Fgithub.com\u002Ftommytim0515), \n[ucsk](https:\u002F\u002Fgithub.com\u002Fucsk), \n[wadegrc](https:\u002F\u002Fgithub.com\u002Fwadegrc), \n[walsvid](https:\u002F\u002Fgithub.com\u002Fwalsvid), \n[warmingkkk](https:\u002F\u002Fgithub.com\u002Fwarmingkkk), \n[Wonderxie](https:\u002F\u002Fgithub.com\u002FWonderxie), \n[wsyzxxxx](https:\u002F\u002Fgithub.com\u002Fwsyzxxxx), \n[xiaodp](https:\u002F\u002Fgithub.com\u002Fxiaodp), \n[youyun](https:\u002F\u002Fgithub.com\u002Fyouyun), \n[yx-tan](https:\u002F\u002Fgithub.com\u002Fyx-tan), \n[Zero](https:\u002F\u002Fgithub.com\u002FMr2er0), \n[Ziming](https:\u002F\u002Fgithub.com\u002FML-ZimingMeng\u002FLeetCode-Python3)\n\n# Donate\n\n如果本仓库对你有帮助，可以请作者喝杯速溶咖啡\n\n\u003Cimg src=\"pictures\u002Fpay.jpg\" width = \"200\" align=center \u002F>\n","labuladong\u002Ffucking-algorithm 是一个旨在帮助用户理解和掌握 LeetCode 算法题目的项目。它通过提供超过 60 篇原创文章，覆盖了从基础到进阶的各种算法类型和解题技巧，并且注重培养读者的算法思维能力，而不仅仅是给出代码答案。该项目使用 Markdown 编写，内容包括详细的解题思路、算法框架分析以及可视化工具支持，使得复杂概念变得易于理解。适合正在准备技术面试、希望提高编程解决问题能力或对算法感兴趣的学习者使用。此外，项目还提供了多种浏览器和IDE插件，方便用户在不同平台上进行高效学习。","2026-06-17 02:33:16","top_all"]