自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 收藏
  • 关注

原创 王炸!算法“游戏化”,惊不惊喜,意不意外?

网站的算法可视化面板已经大幅降低读者理解算法的难度了,但说实话我还是不太满意。我一直想把算法和现实生活中的场景联系起来,让读者真的能把算法用出来,而不局限于刷题。我们平时都是用手控制游戏,那为什么不可以写算法来控制游戏呢?写完代码后点击「提交」按钮把代码提交给游戏引擎,再点击游戏界面的「Begin」即可玩耍!网站上线的第一个游戏是贪吃蛇,请大家编写贪吃蛇移动和吃食物的算法来完成游戏。这道题主要考察链表的基本操作,并不难,但挺好玩的,而且从技术上验证了算法学习和游戏结合可行性。

2025-03-18 08:16:15 264

原创 Jetbrains IDE 刷题插件,全新升级!

根据广大读者的反馈,Jetbrains IDE 刷题插件近期做了若干实用更新。插件使用手册:https://labuladong.online/algo/intro/jetbrains/首先,插件和 labuladong.online 网站结合更加紧密,插件中集成了网站的初学者题单和速成题单:思路部分的题目链接,会显示对钩或八叉图标,以标识这道题目是否已经做过:插件支持了本地调试 Java/C++...

2025-03-13 08:10:44 220

原创 线段树,它来了!

线段树是处理区间查询、区间更新的经典数据结构,近期我给网站 labuladong.online更新了线段树的内容,详细讲解了基本线段树的数组/链表实现、动态线段树(动态开点)的实现、懒更新线段树的实现。最后提供了一个 AllInOneSegmentTree 类,实现了所有优化方法和所有常用 API,在实际的算法题中可以直接使用。可视化面板也对所有类型的线段树做了支持,下面举例。基本线段树,支持区...

2025-03-11 12:25:23 394

原创 本地调试力扣算法代码的终极方案

Jetbrains 插件和 vscode 插件同时更新到 v3.1.0 版本,仅需简单的配置,即可完美支持 Java/C++/Python/Golang/JavaScript 几种语言的本地 Debug 调试。每道题目的算法代码其实就是一个普通的代码文件,理论上可以在本地调试运行,但有几个问题:1、力扣有一些内置的类型,比如 ListNode, TreeNode,而且题目的测试用例输入是数组形式,...

2025-03-04 08:10:54 292

原创 vscode 刷题插件,全新升级!

根据广大读者的反馈,vscode 刷题插件近期做了若干实用更新,最新版本为 v3.0.8,主要更新如下。首先,插件和 labuladong.online 网站结合更加紧密,插件中集成了网站的初学者题单和速成题单:其次,思路部分的题目链接,会显示对钩或八叉图标,以标识这道题目是否已经做过:最后,插件文档中添加了视频讲解,我会展示插件的主要功能,并亲自演示如何使用插件,作为使用文档的补充:详细使用文档...

2025-02-26 08:10:37 592

原创 专注模式上线,高效学习算法!

根据广大读者的反馈建议,我给算法网站 labuladong.online添加了「专注模式」。PC 端访问网站时,右上角将显示一个「专注模式」切换按钮:开启后,阅读文章时将虚化侧边栏及顶部栏的内容,仅凸显内容部分,方便集中注意力,或者方便在公司学习:有需要的读者可以体验一下,欢迎继续提出宝贵意见改进小破站,谢谢大家一直以来的支持!...

2025-02-24 09:38:44 372 1

原创 动态规划,更进一步!

我在动态规划的核心框架中讲到,动态规划有自顶向下带备忘录的递归解法,和自底向上的 dp 数组递推解法。为了进一步降低理解门槛,算法可视化面板对这两种情况做了专门的支持。对于递推的迭代解法,只要在开始进行状态转移之前指定状态转移的数组名,即可将参与状态转移的元素显示为不同颜色,直观地展现状态转移的过程。下面展示 0-1 背包问题递推解法中的一步,由粉色的状态推导出橙色的状态:对于所有递归算法,可视化...

2025-02-20 08:10:56 320

原创 一个视角+两种思维模式,解决一切递归算法!

之前,关于递归算法的讲解融合在二叉树算法的讲解中,需要较多前置知识,学习曲线有点陡峭。现在,我把递归算法的通用思维模式单独抽出来放到核心算法框架章节中,结合可视化面板讲解几道简单的经典算法题,使得整个网站的学习曲线更加平滑:点击「阅读原文」或浏览器访问下方地址即可学习:https://labuladong.online/algo/essential-technique/understand-rec...

2025-02-10 12:55:38 231

原创 递归算法,更进一步!

算法可视化面板支持把递归过程抽象为递归树,但是之前的递归树节点是从根节点开始,随着递归的进行逐步生长,只有当算法执行完之后,才能显示出完整的递归树:现在是在递归函数一开始就显示出整棵递归树形态:未执行到的递归节点显示为半透明;正在递归堆栈上的节点会变为粉色;完成递归且拥有返回值的节点会变为绿色,鼠标移动到节点上,将显示函数调用参数及返回值。此更新已经发布到网站、Chrome 插件、vscode 插...

2025-02-07 10:33:04 174

原创 leetcode 初学/速成题单 + 刷题插件

前段时间我在网站 labuladong.online 添加了针对初学者和速成读者的刷题方法:不少读者表示希望有一个题单,以便刷完网站教程后复习巩固。所以这两天我对网站配套的 vscode 插件和 Jetbrains 插件做了升级,集成了「初学读者题单」和「速成读者题单」,方便大家学习使用。在 vscode 插件(版本 >= v3.0.0)中登录网站后,「初学读者题单」和「速成读者题单」将在左...

2025-02-05 08:10:49 531

原创 终于攻克!图论算法的可视化!

可视化面板支持了「图」结构的可视化,同时适配 颜色系统,便于大家理解图论算法。图论算法大多都相对复杂,还可能涉及到其他数据结构,可视化面板全都支持。下面仅举一些例子,有兴趣的读者可以在这里亲自尝试或查看算法的详细教程:https://labuladong.online/algo/intro/visualize-demo/创建图结构,支持同时展示底层的邻接表和邻接矩阵:用 DFS 算法遍历起点到终点...

2024-12-26 08:10:30 449

原创 重大更新:算法可视化颜色系统

近期很多读者在使用网站的算法可视化的功能,给我提出了不少有价值的意见,我都抽空实现出来了。目前一个比较大的的更新是可视化面板的颜色系统,可以通过代码注释或者 UI 页面修改任意数据结构的颜色,更直观地展示算法执行。之前只支持用代码注释来控制颜色的,不过考虑到使用起来有一定的门槛,所以我把颜色控制整合到了前端页面上,只需要点几下鼠标即可修改颜色。如下图,可以点击左侧的代码中的颜色块修改变量的颜色;也...

2024-12-13 08:10:36 337

原创 十大排序算法及可视化

经过持续的迭代更新,十大排序算法的内容和配套的可视化基本上都完成了,发布在我的网站 labuladong.online「数据结构及排序」章节的最后一章「十大排序算法原理及实现」:自认为,我讲排序算法的特色在于能够讲清楚每个算法是怎么来的,为什么要这么做,这样做有什么优越之处,解决了前面的算法的什么痛点。且所有排序算法均配备可视化面板,下面会简单截图展示几个。比方说我首先把选择排序、冒泡排序、插入排...

2024-10-24 14:56:29 407 1

原创 《labuladong的算法笔记》出繁体版了~

鉴于《labuladong 的算法笔记》纸质书名气很大,现已经翻译成了繁体中文:上周收到了出版社寄来的实体书,整体上来看,厚度和原版差不多:不过有一点小小的遗憾,原版是双色印刷,而繁体版的内容是黑白印刷的:我原以为繁体中文和简体中文只是字体不同,连蒙带猜应该不难看懂。但翻了下,发现繁体中文和简体中文不仅是字体写法不同,一些词汇习惯也不一样,对我来说看起来还是要费点劲。。。繁体版主要针对的是有繁体阅...

2024-06-24 08:21:00 590

原创 球盒模型:一切回溯穷举,皆从此法出

学算法认准labuladong点击卡片可搜索文章????在线学习网站:https://labuladong.online/algo/PS:本文是 球盒模型:集合划分问题 的优化精简版,用大家熟知的排列组合问题,结合可视化面板来阐明这种穷举思维模式。阅读本文之前,需要你熟悉 回溯算法核心框架 以及 回溯算法秒杀排列/组合/子集问题。在上面这两篇文章中,有读者提出了不同的排列/组合/子集代码写法,比如通过...

2024-03-28 08:10:35 1189 1

原创 刷题全家桶全面更新!

学算法认准labuladong点击卡片可搜索文章????在线网站 labuladong.online快过年了,咱不讲太硬核的东西了,就给大家简单汇报一下近期我给刷题全家桶做的更新。上篇文章有很多读者问算法可视化是否会开源,我有这个打算,不过得重构一下,把代码写的好看一点,尽量再把 Python 语言支持上,然后再考虑开源供大家学习参考。本文主要介绍两个重要更新,第一个是网站和插件全线集成可视化编辑器,...

2024-02-08 14:17:09 589

原创 终于上线了,速来!

学算法认准labuladong点击卡片可搜索文章????之前发布了算法可视化面板之后,有很多读者希望能够在可视化面板运行自己的代码。最近给我的算法学习网站自建了后端服务,可视化面板添加了编辑器功能,可以输入自定义代码了,可视化面板地址:https://labuladong.online/algo-visualize本文就简单介绍一下可视化编辑器的基本用法,更多功能尽请期待,欢迎大家体验和反馈问题。由于...

2024-01-05 13:51:00 1066 1

原创 新书冲上榜一!再签 5000 本!

上周刚发了一篇推文 我的新书出版啦,前两天出版社就发来消息,新书《labuladong 的算法笔记》冲上了京东计算机图书榜第一,总榜第二,当当计算机新书榜第一:上周推文的留言有 300 多条,已经远超公众号 100 条精选留言数量上限,所以有很多留言都没放出来。而且上周京东直接被买断货了,只能预购。为了不让大家等太久,我赶紧联系出版社补了几千本库存,现在各地仓库都有货了,下单后应该很快就能收到新书...

2023-09-22 11:13:31 250

原创 我的新书出版啦!

大家好,今天正式宣布一下,我的算法纸质书《labuladong 的算法笔记》上架了!其实这本书前几天就上架京东了,上架当天就有读者发现了,在 B 站后台跟我留言。不过那时候新书还没有开放折扣,而且各个渠道还没到货,所以我没有主动宣传。今天,新书开启了 5 折优惠,500 多页的干货,高颜值,双色印刷,手感厚实,新书原价 119 元,限时半价,只要 59.5 元,赶紧抄底!放几张实拍图,前 5000...

2023-09-11 10:47:28 625

原创 更进一步!可视化一切递归算法!

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.gitee.io/algo/上次我发布了算法代码可视化功能,适配了我的网站和我的系列插件,最近我修复了一些 bug 并增加了一些功能优化。其中最重要的一个更新是支持了递归算法的可视化,而且可视化的方式可以说是我之前系列文章所阐述的算法思想的的具体实现,我真的动手把抽象的思想...

2023-06-30 11:55:23 1292

原创 DFS/回溯/动态规划算法的融会贯通

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.gitee.io/algo/经常有读者后台问我,DFS算法/回溯算法/动态规划算法之间的区别和联系是什么?对于这个问题,我可以用几句话形象地解释清楚,它们都可以看做二叉树问题的扩展,只是关注点不同:动态规划算法属于分解问题的思路,它的关注点在整棵「子树」。回溯算法属于遍历的...

2023-06-20 11:50:31 835

原创 我带着 chatGPT 做了 2800 道算法题

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/老读者都知道,以前我的算法教程主要使用 Java 语言。但是现在有了 chatGPT 的帮助,《labuladong 的刷题全家桶》已经全面支持了 Java/C++/Python/Golang/JavaScript 等所有所有主流编程语言,能尽...

2023-03-25 15:58:51 4910

原创 用 chatGPT 提高效率的套路总结

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/最近这段时间 chatGPT 掀起了一阵 AI 热潮,目前来看网上大部分内容都是在调戏 AI,很少有人写如何用 chatGPT 做正事儿。我作为一个大部分知识都是从搜索引擎和 GitHub 学来的程序员,第一次和 chatGPT 促膝长谈后,基...

2023-02-28 09:17:28 111

原创 必知必会位运算技巧手册

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????读完本文,可以去力扣解决如下题目:191. 位 1 的个数(简单)231. 2 的幂(简单)136. 只出现一次的数字(简单)268. 丢失的数字(简单)在线学习网站:https://labuladong.github.io/algo/位操作(Bit Manipulation)可以有很多技巧,有一个叫做 Bit Twiddl...

2023-02-03 08:20:34 315

原创 一致性哈希算法设计题,栽了

学算法认准labuladong后台回复课程参查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/最近有一位读者跟我交流,说除了算法题之外,系统设计题是一大痛点。算法题起码有很多刷题平台可以动手实践,但系统设计类的题目一般很难实践,所以看一些教程总结也只是一知半解,遇到让写代码实现系统的就懵了。比如他最近被问到一个大型爬虫系统的设计题,让...

2023-01-03 15:47:25 76

原创 如何学习开源项目,我又总结了套路

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/我在前文 加入开源社区,告别 CRUD 中讲到参与开源社区的种种好处,本文分享一下在使用或者学习开源项目源码的过程中的一些经验技巧。因为我最近在研究 Apache Pulsar 这款消息队列,所以就以这个项目为例,不过本文介绍的都是通用的技巧,...

2022-11-14 13:37:53 733

原创 CRUD 一年多,我的破局思路

学算法认准labuladong后台回复课程参查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/记得我的 leader 之前说过,很多人工作之后就丧失了持续钻研的热情,这个确实,我发现自己多少也有这个问题。转眼已经毕业一年多了,回想这一年,有些惭愧,感觉不仅技术能力上并没有什么特别值得一提的进步,而且在其他各个方面都觉得自己有待提高。和...

2022-11-03 09:01:16 388

原创 我用消息队列做了一款联机小游戏

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????上篇文章 我讲了两种常用的随机算法,本文就把这些算法运用出来,做一个多人在线小游戏。我小时候特别喜欢在 4399 玩一款叫做 Q 版泡泡堂的游戏:游戏里玩家可以操控一个机器人放炸弹,炸开障碍物能够获取随机道具,玩家消灭所有其他机器人则闯关成功,如果被其他机器人消灭,则闯关失败。这个游戏中其他机器人都是电脑控制的,说实话有些蠢...

2022-10-18 08:20:18 1173

原创 存储系统中的算法:LSM 树设计原理

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????我在上篇文章 Apache Pulsar 的架构设计 中介绍了 Pulsar 存算分离的架构,其中 broker 只负责计算,由 BookKeeper 负责底层的存储,我还画了这样一张图说明 BookKeeper 读写分离的设计:但是再深究下去,memtable具体是以怎样的格式持久化到磁盘上的呢?又是用什么算法高效查找一条...

2022-09-19 08:15:15 641

原创 面试官让我重构 Kafka,懵了……

学算法认准labuladong点击卡片可搜索文章????经常有读者后台跟我说,希望我能够写一些系统设计相关的文章,最近我就在研究常用消息队列 kafka 和 pulsar 的架构设计,所以总结了这篇文章,希望在你做技术选型或阅读源码的时候起到一定的帮助。我从以前的一个真实面试场景开始好了。面试官:了解 Kafka 吗?简单介绍下?我张口就来:Kafka 嘛,作为一款比较成熟的消息队列,它必然 YYDS...

2022-08-25 08:30:06 718

原创 微软面试题解析:丑数系列算法

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????读完本文,可以去力扣解决如下题目:263. 丑数(简单)264. 丑数 II(中等)1201. 丑数 III(中等)313. 超级丑数(中等)最近读者群里有个读者跟我私信,说去面试微软遇到了一系列和数学相关的算法题,直接懵圈了。我看了下题目,发现这些题其实就是 LeetCode 上面「丑数」系列问题的修改版。首先,「丑数」系...

2022-08-15 08:30:49 477

原创 别用 KMP 了, Rabin-Karp 算法了解下?

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????读完本文,可以去力扣解决如下题目:28. 实现 strStr()(简单)187. 重复的DNA序列(中等)经常有读者留言,请我讲讲那些比较经典的算法,我觉得有这个必要,主要有以下原因:1、经典算法之所以经典,一定是因为有独特新颖的设计思想,那当然要带大家学习一波。2、我会尽量从最简单、最基本的算法切...

2022-06-30 08:10:45 559

原创 高频面试系列:单词拆分问题

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????读完本文,可以去力扣解决如下题目:139. 单词拆分(中等)140.单词拆分II(困难)之前 手把手带你刷二叉树(纲领篇) 把递归穷举划分为「遍历」和「分解问题」两种思路,其中「遍历」的思路扩展延伸一下就是回溯算法,「分解问题」的思路可以扩展成动态规划算法。我在 手把手带你刷二叉树(思路篇) 对一...

2022-06-23 08:10:24 414

原创 谈谈「心流」:如何在学习中体验快乐

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????最近有一位老读者问我,为什么当时我在大学期间就开始学技术,到现在还在坚持刷题学习?他说自己大学时就是混的,看我的公众号突击算法找到了不错的工作,但开心了没多久,生活又变得有些浑浑噩噩,没什么动力给自己充电(主要是短期看不到回报),自己知道这样是虚度时光,但不知道哪里出了问题,想让我分享一下经验。首先...

2022-06-06 08:08:12 1731

原创 论动态规划穷举的两种视角

学算法认准labuladong后台回复课程查看精品课点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/读完本文,可以去力扣解决如下题目:115. 不同的子序列(困难)挺久没写动态规划相关的题目了,本文我带大家复习一下动态规划相关问题的一系列解题套路,然后着重讨论一下动态规划穷举时不同视角的问题。动态规划解题组合拳首先,...

2022-05-23 08:10:02 868

原创 动态规划答疑篇(修订版)

学算法认准labuladong后台回复打卡参与刷题挑战点击卡片可搜索文章????在线学习网站:https://labuladong.github.io/algo/本文是两年前发的 动态规划答疑篇 的修订版,根据我的不断学习总结以及读者的评论反馈,我给扩展了更多内容,力求使本文成为继 动态规划核心套路框架 之后的一篇全面答疑文章。以下是正文。这篇文章就给你讲明白以下几个问题:1...

2022-05-10 08:10:00 328

原创 算法时空复杂度分析实用指南

学算法认准labuladong后台回复打卡参与刷题挑战点击卡片可搜索文章????我以前的文章主要都是讲解算法的原理和解题的思维,对时间复杂度和空间复杂度的分析经常一笔带过,主要是基于以下两个原因:1、对于偏小白的读者,希望你集中精力理解算法原理。如果加入太多偏数学的内容,很容易把人劝退。2、正确理解常用算法底层原理,是进行复杂度的分析的前提。尤其是递归相关的算法,只有你从树的...

2022-04-11 08:10:00 1404 1

原创 一文秒杀 5 道最近公共祖先问题

学算法认准labuladong后台回复打卡参与刷题挑战点击卡片可搜索文章????读完本文,可以去力扣解决如下题目:236. 二叉树的最近公共祖先(中等)1644. 二叉树的最近公共祖先 II(中等)1650. 二叉树的最近公共祖先 III(中等)1676. 二叉树的最近公共祖先 IV(中等)235. 二叉搜索树的最近公共祖先(简单)如果说笔试的时候经常遇到各种动归回溯的骚操作...

2022-03-31 08:20:00 1391

原创 数组双指针直接秒杀七道题目

学算法认准labuladong后台回复打卡参与刷题挑战读完本文,可以去力扣解决如下题目:26. 删除有序数组中的重复项(简单)83. 删除排序链表中的重复元素(简单)167. 两数之和 II - 输入有序数组(中等)27. 移除元素(简单)283. 移动零(简单)344. 反转字符串(简单)5. 最长回文子串(中等)双指针技巧在处理数组和链表相关问题时经常用到,主要分为...

2022-03-23 08:20:00 946 1

原创 快速排序的正确理解方式及运用

后台回复打卡参与刷题挑战点击卡片可搜索关键词????读完本文,可以去力扣解决如下题目:912. 排序数组(Medium)215. 数组中的第 K 个最大元素(Medium)前文 归并排序算法详解...

2022-03-16 08:20:00 2754

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除