忍者算法
公众号:忍者算法
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode刷题小白必看!如何科学地刷题,从0到1建立你的算法体系?
如果你刚开始刷题,面对茫茫题海感到迷茫,甚至看到题目就心生畏惧,那么这篇文章就是为你量身打造的。原创 2025-01-24 21:07:13 · 711 阅读 · 0 评论 -
【忍者算法】LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中)
我可以很负责任地说,只要你把这些题真正掌握了,80%的算法面试都能遇到相似题目。原创 2025-01-23 21:42:55 · 2264 阅读 · 0 评论 -
【忍者算法】最小栈设计:优雅实现O(1)时间获取最小值!| LeetCode 155「最小栈」
本文介绍了如何设计一个最小栈,以在O(1)时间复杂度内实现push、pop、top和getMin操作。通过使用主栈和辅助栈的双栈结构,辅助栈同步记录当前状态下的最小值,确保所有操作的高效性。文章详细解析了设计思路、代码实现、易错点及优化方案,并提供了空间优化版本。此外,还讨论了该设计思想的扩展应用和面试技巧,帮助读者深入理解并掌握这一数据结构设计方法。原创 2025-05-15 23:05:17 · 27 阅读 · 0 评论 -
【忍者算法】探秘括号匹配:从生活场景理解栈的妙用!|LeetCode 20「有效的括号」
文章探讨了如何使用栈数据结构解决LeetCode 20题「有效的括号」问题。作者通过生活场景引入,解释了栈在处理括号匹配时的自然适用性。文章详细解析了问题的要求,并提供了从初学者思路到优化思路的逐步发展过程。最终,作者给出了一个优雅的Java解决方案,并深入讲解了代码的每个环节,包括前置优化、栈的使用、匹配过程和验证逻辑。此外,文章还指出了常见的易错点,并提供了面试技巧和高级优化建议。通过这篇文章,读者不仅学会了解决括号匹配问题,还理解了栈在处理配对问题中的重要性。原创 2025-05-15 23:04:21 · 25 阅读 · 0 评论 -
【忍者算法】探秘算法之巅:寻找两个有序数组的中位数!|LeetCode 4「寻找两个正序数组的中位数」
本文探讨了如何在两个有序数组中高效找到中位数的问题。通过将问题转化为寻找合适的分割线,使得两个数组的左半部分都小于右半部分,并且左半部分的元素个数等于或比右半部分多一个。文章详细介绍了使用二分查找的方法来定位这个分割线,并通过代码示例展示了具体实现。该算法的时间复杂度为O(log(min(m,n))),满足了题目要求。文章还分析了易错点和边界条件,并提供了图解以帮助理解算法的核心思想。通过这种方法,读者可以更好地掌握处理类似问题的技巧,并将其应用到其他场景中,如寻找第k小的数或合并有序数组。原创 2025-05-13 09:00:00 · 232 阅读 · 0 评论 -
【忍者算法】探秘旋转数组:寻找最小值的巧妙之旅!|LeetCode 153「寻找旋转排序数组中的最小值」
本文介绍了如何在旋转排序数组中寻找最小值的算法问题。通过类比太阳温度的升降过程,文章生动地解释了旋转数组的概念。作者详细解析了问题的要求,并逐步引导读者从朴素的遍历方法过渡到更高效的二分查找解决方案。文章提供了Java代码实现,并对代码的每个关键部分进行了深入解析。此外,作者还指出了常见的易错点,并提出了可以应用该思路的类似问题。最后,文章分享了在面试中解释和优化该算法的技巧,并鼓励读者继续深入学习和讨论。整体内容清晰易懂,既有理论分析又有实践指导,适合算法学习者参考。原创 2025-05-13 00:49:50 · 33 阅读 · 0 评论 -
【忍者算法】掌握这个模板,子集问题轻松拿下!|LeetCode 78 子集
公众号:忍者算法🔑 回复【子集模板】获取进阶题解👥 回复【加群】加入刷题大军,组队攻克算法💻 回复【代码】获取GitHub仓库,包含多语言实现#算法面试 #LeetCode #回溯算法 #子集问题。原创 2025-02-16 08:30:00 · 567 阅读 · 0 评论 -
【忍者算法】Google搜索框背后的算法:带你深入理解前缀树|LeetCode 208 实现Trie(前缀树)
公众号:忍者算法🎯 回复【刷题清单】获取更多经典题目解析👥 回复【加群】加入算法/面试交流群,一起学习进步🧑💻 回复【代码】获取GitHub完整题解项目,包含Java/Python/JavaScript/Go/C++多语言实现#算法面试 #LeetCode #数据结构 #前缀树。原创 2025-02-15 00:31:47 · 431 阅读 · 0 评论 -
【忍者算法】看懂这篇文章,你就能理解80%的拓扑排序问题|LeetCode 207题 课程表
公众号:忍者算法📚 回复【刷题清单】获取更多BFS经典题目解析👥 回复【加群】加入算法/面试交流群,一起学习进步🧑💻 回复【代码】获取GitHub完整题解项目,包含Java/Python/JavaScript/Go/C++多语言实现#算法面试 #LeetCode #图论 #拓扑排序。原创 2025-02-15 00:30:16 · 375 阅读 · 0 评论 -
【忍者算法】从家族树到二叉树:深入解析最近公共祖先问题|LeetCode 236 二叉树的最近公共祖先
欢迎关注我的公众号【忍者算法】,回复【二叉树】获取精心整理的二叉树专题刷题手册。经典题目、变形题解、大厂真题实战演练,让我们一起在算法的世界里修炼忍者之道!🗡️。原创 2025-02-13 01:22:27 · 890 阅读 · 0 评论 -
《哪吒2》狂飙,导演饺子能分多少钱?答案超乎想象!
2024年终于盼到一部现象级爆款,观众疯狂买单!,四年精雕细琢,动画水准全方位升级,故事情节更是炸裂!当然,票房越高,导演饺子的分红也成了大家关注的焦点。原创 2025-02-11 08:45:00 · 365 阅读 · 0 评论 -
【忍者算法】从城市天际线到二叉树右视图:如何捕捉每层最右的风景|LeetCode 199 二叉树的右视图
层序维度处理:使用BFS逐层扫描,适合需要处理层级信息的场景深度优先优化:通过遍历顺序控制(先右后左)和深度记录实现高效访问二叉树的左视图二叉树的最小深度二叉树的层平均值判断是否需要层级信息选择遍历顺序(BFS保证层级顺序,DFS通过顺序控制优化)根据问题需求记录特定节点(首/末个节点、最值等)原创 2025-02-10 09:00:00 · 286 阅读 · 0 评论 -
【忍者算法】从书架的哲学到二叉平衡:解密有序数组的树形蜕变|LeetCode 108 将有序数组转换为二叉搜索树
想象你是一名图书管理员,面对刚到的百科全书,它们按序号整齐排列。你需要设计一个检索系统:当读者询问任意编号时,都能以最少的步骤找到目标。你会如何摆放这些书籍?聪明的管理员会将中间卷放在最显眼位置,左半部分交给左侧书架,右半部分交给右侧书架——这正是二叉搜索树的智慧。而今天我们要解决的,正是这种思维在算法世界的完美映射。原创 2025-02-09 09:00:00 · 598 阅读 · 0 评论 -
从食堂打饭到链表合并:巧解K路归并问题|LeetCode 23 合并K个升序链表
优先队列的初始化技巧:把Lambda表达式用于比较器定义,使代码更简洁原创 2025-02-05 01:05:04 · 625 阅读 · 0 评论 -
【忍者算法】从分治合并到链表排序:探索链表排序的优雅解法|LeetCode 148 排序链表
合并有序链表的技巧。原创 2025-02-04 08:45:00 · 957 阅读 · 0 评论 -
【忍者算法】从项目分配到链表翻转:探索K组翻转的管理艺术|LeetCode 25 K个一组翻转链表
使用虚拟头节点简化边界处理先验证组内节点数量,再进行翻转保存关键节点引用,便于后续连接画图理清指针变化过程。原创 2025-02-03 08:45:00 · 778 阅读 · 0 评论 -
【忍者算法】从手牵手到两两交换:探索链表节点的配对之舞|LeetCode 24 两两交换链表中的节点
使用虚拟头节点简化边界处理画图理清指针变化顺序先确保局部交换正确,再考虑整体链接细心处理空指针情况。原创 2025-02-03 01:03:49 · 365 阅读 · 0 评论 -
【忍者算法】从生活场景到LRU缓存:优雅实现高性能数据访问|LeetCode 146 LRU缓存
想象你有一个小书架,上面只能放5本书。每当你需要看一本新书时,都会把它放在最容易拿到的位置(书架最前面)。原创 2025-02-05 01:07:18 · 1020 阅读 · 0 评论 -
【忍者算法】深入探索:二叉树的最大深度之旅|LeetCode 104 二叉树的最大深度
在二叉树的世界里,深度代表了从根节点到最远叶子节点的最长路径。这是一种从根本到极限的探索旅程。原创 2025-02-06 22:15:07 · 708 阅读 · 0 评论 -
【忍者算法】从树的漫步到二叉树遍历:中序遍历的诗与智慧|LeetCode 94 二叉树的中序遍历
想象你在一个迷人的森林里散步。森林里的每棵树都有自己独特的故事,而你的任务是以一种特定的方式依次聆听每棵树的声音。原创 2025-02-06 22:10:07 · 411 阅读 · 0 评论 -
从影分身到链表复制:探索带随机指针的链表复制术|LeetCode 138 复制带随机指针的链表
LeetCode 第138题"复制带随机指针的链表"要求我们对一个特殊的链表进行深拷贝。这个链表的每个节点除了包含指向下一个节点的next指针,还包含一个random指针,可以指向链表中的任意节点或null。原创 2025-02-04 08:30:00 · 1675 阅读 · 0 评论 -
【忍者算法】从生活到代码:解密链表大数相加的美妙算法|LeetCode 2 两数相加
想象你是一个超市收银员,正在计算两位顾客的购物总和。每位顾客的商品都按照从个位到高位的顺序摆放(比如54元就是先放4元商品,再放50元商品)。你需要一个一个地加起来,遇到超过10元的就进位。这个场景,恰恰就是我们今天要解决的链表两数相加问题的真实写照。原创 2025-02-02 09:00:00 · 551 阅读 · 0 评论 -
【忍者算法】从快慢指针到倒数查找:优雅解决链表倒数问题|LeetCode 19 删除链表的倒数第N个结点
快慢指针技巧原创 2025-02-02 16:37:14 · 411 阅读 · 0 评论 -
【忍者算法】从拉链到链表:探索有序链表的合并之道|LeetCode 21 合并两个有序链表
想象你正在整理两叠按日期排好序的收据。最自然的方式就是:拿起两叠收据,每次比较最上面的日期,选择日期较早的那张放入新的一叠中。这个简单的日常操作,恰恰就是我们今天要讨论的有序链表合并问题的真实写照。原创 2025-02-02 02:07:29 · 483 阅读 · 0 评论 -
【忍者算法】从公路跑步到链表成环:探索环形链表检测|LeetCode 141 环形链表
掌握快慢指针技巧原创 2025-02-01 14:49:19 · 576 阅读 · 0 评论 -
【忍者算法】从照片旋转到矩阵变换:探索图像旋转问题|LeetCode 48 旋转图像
观察旋转前后元素位置的对应关系寻找可以分解的子操作(如翻转)原创 2025-01-30 01:11:56 · 350 阅读 · 0 评论 -
【忍者算法】从图书馆找书到矩阵搜索:探索二维矩阵中的高效搜索|LeetCode 240 搜索二维矩阵 II
观察矩阵的特性(如排序规律)寻找特殊位置(如右上角)作为起点原创 2025-01-30 01:13:13 · 416 阅读 · 0 评论 -
【忍者算法】从生活场景到回文链表:探索对称性检测|LeetCode 234 回文链表
问题转化:将回文判断转化为对称性比较原创 2025-02-01 14:48:21 · 490 阅读 · 0 评论 -
【忍者算法】从十字路口相遇到链表交点:探索相交链表问题|LeetCode 160 相交链表
善用双指针技巧利用数学特性(路程相等原理)原创 2025-01-31 15:47:26 · 424 阅读 · 0 评论 -
【忍者算法】从入环点到相遇点:深入理解环形链表 II|LeetCode 142 环形链表 II
在上一题中,我们讨论了如何判断链表是否有环。现在让我们更进一步:如果确定链表中有环,我们该如何找到环的入口节点?原创 2025-02-01 14:50:11 · 357 阅读 · 0 评论 -
【忍者算法】从生活场景理解链表反转:最重要的基础算法|LeetCode 206 反转链表
反转链表看似简单,却是链表操作的基石。就像建房子要先打好地基,做复杂的链表操作前必须深刻理解反转原理。无数高频面试题都建立在这个基础之上:K个一组反转链表、判断回文链表、链表重排序等等。真正理解了反转链表,这些题目就会迎刃而解。原创 2025-01-31 15:48:42 · 382 阅读 · 0 评论 -
【忍者算法】从扫雷游戏到矩阵操作:探索矩阵置零问题|LeetCode 73 矩阵置零
矩阵问题中,往往可以利用矩阵本身来存储信息处理特殊情况。原创 2025-01-29 00:39:24 · 942 阅读 · 0 评论 -
【忍者算法】从生活场景到螺旋矩阵:探索矩阵的螺旋遍历|LeetCode 54 螺旋矩阵
明确移动方向的顺序(右->下->左->上)正确维护和更新边界。原创 2025-01-29 00:42:25 · 789 阅读 · 0 评论 -
【忍者算法】从日程安排到区间合并:探索合并区间问题|LeetCode 56 合并区间
探索合并区间问题的模板!原创 2025-01-27 08:30:00 · 2867 阅读 · 0 评论 -
【忍者算法】从风扇叶片到数组轮转:探索轮转数组问题|LeetCode 189 轮转数组
点此看全部题解更多干货,请关注公众号【忍者算法】,回复【刷题清单】获取完整题解目录~原创 2025-01-27 11:29:52 · 279 阅读 · 0 评论 -
【忍者算法】从图书馆编目到数组搜索:探索缺失的第一个正整数|LeetCode 41 缺失的第一个正整数
思考数据的取值范围很重要,有时候可以把数组本身当作标记数组使用。原创 2025-01-28 01:33:22 · 907 阅读 · 0 评论 -
从购物清单到数组乘积:探索除自身外数组的乘积问题|LeetCode 238 除自身以外数组的乘积
点此看全部题解更多干货,请关注公众号【忍者算法】,回复【刷题清单】获取完整题解目录~原创 2025-01-28 01:32:01 · 746 阅读 · 0 评论 -
【忍者算法】从整理扑克牌到字母异位词分组:一道巧妙的排序应用题 |LeetCode 49 字母异位词分组
本题核心:通过某种标准形式来对对象分组!原创 2025-01-23 22:52:53 · 808 阅读 · 0 评论 -
【忍者算法】从倒水问题到盛最多水的容器:一道经典的双指针应用题|LeetCode 11 盛最多水的容器
双指针技巧:通过移动两个指针来解决问题!原创 2025-01-23 22:56:08 · 773 阅读 · 0 评论 -
【忍者算法】从存钱罐到子数组:一个关于累加和的精妙问题|LeetCode 560 和为K的子数组
前缀和技巧:通过预处理简化区间和的计算原创 2025-01-25 09:00:00 · 561 阅读 · 0 评论