搜索:算法题解

共命中 50 条(服务端检索)
LeetCode 23. 合并 K 个升序链表:堆与分治的两种解法
K 个有序链表合并成一个,朴素做法 O(N·k),堆与分治都能压到 O(N log k)——但两者的空间、常数与工程含义完全不同。本文从「K 路归并」的通用模型讲起,给出两种解法的 Python 实现(本地验证含 30000 组对拍),并把这道题放进「多路有序数据合并」的行业场景里看。
算法题解 精选 · 原创 · 10-25 阅读 41·访客 40
LeetCode 460. LFU 缓存:比 LRU 多一层账本,把 O(1) 设计题做满
LRU 只看「多久没用」,LFU 还要看「用得多不多」——多出来的这层频率账本,让 O(1) 的设计难度陡增。本文从朴素方案的瓶颈推到「频率桶 + 双向链表」的双字典结构,逐段讲透驱逐与晋升的每一步,最后用本地测试跑通边界用例,顺带看看 Redis 是怎么把这套思想塞进 24 个比特的。
算法题解 精选 · 原创 · 10-24 阅读 54·访客 53
LeetCode 4. 寻找两个正序数组的中位数:一道 Hard 背后的二分思想
合并后取中位数人人会写,O(log(m+n)) 才是这道题的灵魂。本文从「中位数 = 划分点」这个视角重构问题,讲透最直观的「找第 k 小」解法,给出一份本地验证通过的 Python 实现(含 20000 组随机对拍),再对比面试官更爱的「切分线」解法,最后说清为什么这道题是二分思想的试金石。
算法题解 精选 · 原创 · 10-25 阅读 49·访客 49
LeetCode 42. 接雨水:从暴力到双指针的四层跃迁
接雨水是「按列求水」模型的经典困难题。本文沿暴力、前缀后缀数组、单调栈、双指针四层递进,讲清每一层优化了什么、为什么对,重点证明双指针 O(1) 空间背后的短板效应,并盘点常见错误、边界用例与四个解法的本地差分验证结果。
算法题解 精选 · 原创 · 10-10 阅读 232·访客 232
LeetCode 300. 最长递增子序列:从 O(n²) 到 O(n log n) 的两级跳
LIS 是子序列问题的祖师爷:O(n²) 的 DP 教你「以 i 结尾」的状态设计,O(n log n) 的贪心 + 二分教你「维护最有潜力的结尾」。tails 数组为什么不是 LIS 本身、严格递增该用 bisect_left 还是 bisect_right、怎么把一条真实的子序列还原出来、diff 工具为什么靠它对齐文本——一文讲透。
算法题解 精选 · 原创 · 10-8 阅读 229·访客 228
LeetCode 84. 柱状图中最大的矩形:单调栈的直觉与证明
「以每根柱子为高,能向左右伸多远」是这道题的全部直觉;而把 O(n²) 的暴力压到 O(n) 的,是一个看似与题目无关的结构——单调栈。本文从限高柱的视角推导解法,给出本地验证通过的 Python 实现(含 30000 组随机对拍),讲透等高柱与哨兵这两个边界难点的约定,最后把单调栈的使用心法收成一张表。
算法题解 精选 · 原创 · 10-25 阅读 42·访客 41
LeetCode 70. 爬楼梯:动态规划的第一课
爬楼梯是几乎所有 DP 教学的第一题:n 阶楼梯每次爬 1 或 2 阶,几种爬法?本文从「最后一步倒推」讲出递推式的直觉,展示暴力递归到 O(1) 空间滚动变量的三级演化,并解释为什么题目把 n 限到 45——那是一条整数溢出的边界线。
算法题解 精选 · 原创 · 10-7 阅读 128·访客 127
LeetCode 15. 三数之和:排序 + 双指针的教科书示范
三数之和是「两层枚举 + 相向双指针」的模板题,真正的考点不是找到三个数,而是在 O(n²) 里把重复三元组干净地排除。本文从暴力解的失败讲起,逐行拆解排序双指针与三条去重规则,附两处剪枝,全部代码本地跑通验证。
算法题解 精选 · 原创 · 10-7 阅读 150·访客 149
从 4K 到百万 token:RoPE 上下文扩展算法深度解析
现代大模型的百万上下文,几乎都建立在 2021 年的旋转位置编码与 2023 年的一系列外推算法之上。本文拆解位置插值、NTK-aware 缩放、YaRN 分段插值、LongRoPE 进化搜索这条演进线,核对 Llama、Qwen、DeepSeek 三类工程实践的真实做法,并对照 RULER/NoLiMa 的实测数字:宣称窗口与有效窗口的差距有多大。
大模型 精选 · 原创 · 10-9 阅读 241·访客 236
接雨水
双指针 / 单调栈
算法题解 精选 · 原创博客 · 2024-04-05 阅读 125·访客 124
字母异位词分组
字符计数作哈希键
算法题解 精选 · 原创博客 · 2024-04-04 阅读 139·访客 138
两数之和
哈希表一次遍历
算法题解 精选 · 原创博客 · 2024-04-04 阅读 138·访客 138
一篇读懂限流算法:从固定窗口到令牌桶
固定窗口、滑动窗口、漏桶、令牌桶四种限流算法逐个拆解:各自怎么工作、临界突刺藏在哪、适合什么场景。附固定窗口与令牌桶的可运行 TypeScript 实现,最后给一张选型表,并交代 Redis + Lua 的分布式落地现实。
一叶一世界 精选 · 原创 · 10-10 阅读 713·访客 711
Raft算法
Raft 论文的中文精读:从复制状态机出发理解共识
后端技术 精选 · 原创博客 · 2020-04-20 阅读 366·访客 364
澳大利亚想要社媒平台允许用户退出算法驱动的信息流
在禁止儿童使用社媒平台之后,澳大利亚工党政府提出了一项新的法律草案,要求社媒平台允许用户退出算法驱动的信息流。用户可选择算法推荐的个性化内容作为默认信息流,或者拒绝接收算法推荐的内容,只浏览用户关注的朋友和创作者的内容。被称为 My Fee…
行业动态 Solidot · 9-8 阅读 35·访客 33
相交链表
双指针等距法
算法题解 精选 · 原创博客 · 2024-04-08 阅读 156·访客 154
盛最多水的容器
双指针收敛
算法题解 精选 · 原创博客 · 2024-04-05 阅读 146·访客 144
搜索二维矩阵
右上角二叉决策树
算法题解 精选 · 原创博客 · 2024-04-08 阅读 148·访客 146
除自身以外数组的乘积
前缀积 × 后缀积
算法题解 精选 · 原创博客 · 2024-04-07 阅读 143·访客 142
轮转数组
三次翻转
算法题解 精选 · 原创博客 · 2024-04-07 阅读 145·访客 144
最大子数组和
Kadane 动态规划
算法题解 精选 · 原创博客 · 2024-04-06 阅读 148·访客 147
移动零(Move Zeroes)
快慢指针原地交换
算法题解 精选 · 原创博客 · 2024-04-05 阅读 146·访客 145
和为k的子数组
前缀和 + 哈希表
算法题解 精选 · 原创博客 · 2024-04-05 阅读 137·访客 135
三数之和
排序 + 双指针去重
算法题解 精选 · 原创博客 · 2024-04-05 阅读 129·访客 129
缺失的第一个正数
原地哈希(鸽巢)
算法题解 精选 · 原创博客 · 2024-04-08 阅读 159·访客 158
回文链表
快慢指针 + 后半段反转
算法题解 精选 · 原创博客 · 2024-04-08 阅读 153·访客 152
反转链表
迭代三指针
算法题解 精选 · 原创博客 · 2024-04-08 阅读 143·访客 142
旋转图像
转置 + 水平翻转
算法题解 精选 · 原创博客 · 2024-04-08 阅读 166·访客 164
矩阵置零
首行首列作标记位
算法题解 精选 · 原创博客 · 2024-04-08 阅读 143·访客 143
螺旋矩阵
四边界收缩
算法题解 精选 · 原创博客 · 2024-04-08 阅读 146·访客 145
合并区间
按左端点排序后合并
算法题解 精选 · 原创博客 · 2024-04-07 阅读 152·访客 151
最小覆盖子串
滑动窗口 + 需求计数
算法题解 精选 · 原创博客 · 2024-04-06 阅读 127·访客 125
找出字符串中所有字母异位词
滑动窗口 + 计数数组
算法题解 精选 · 原创博客 · 2024-04-05 阅读 124·访客 122
最长连续序列
哈希集合找序列起点
算法题解 精选 · 原创博客 · 2024-04-05 阅读 137·访客 136
无重复字符的最长子串
滑动窗口
算法题解 精选 · 原创博客 · 2024-04-05 阅读 96·访客 92
滑动窗口最大值
单调递减队列
算法题解 精选 · 原创博客 · 2024-04-05 阅读 127·访客 127
LeetCode 236. 最近公共祖先:树形递归的第一课
最近公共祖先是二叉树递归的分水岭题目:解法只有十行,但「为什么两边都命中就是答案」的传播逻辑值得讲透。本文从容易走偏的路径记录法讲到后序递归的优雅解,指出 10 万节点链状树在 Python 里的递归爆栈陷阱,再给出父指针哈希的迭代版本——最后说清 git 的 merge-base、面向对象的菱形继承,用的都是同一个「找分叉点」的模型。
算法题解 精选 · 原创 · 10-8 阅读 242·访客 242
中国生成式 AI 监管地图:备案双轨、标识新规与开发者的合规清单
备案是中国生成式 AI 监管的主轴:算法备案与大模型备案双轨并行,2025 年 9 月起《人工智能生成合成内容标识办法》与强制性国标 GB 45438-2025 把显式/隐式标识义务落到像素级。本文面向开发者梳理法规层级、备案触发条件与落地清单。本文不构成法律意见。
行业动态 精选 · 原创 · 10-7 阅读 331·访客 235
LeetCode 53. 最大子数组和:Kadane 算法的一步之遥
LeetCode 53 的题眼在状态定义:dp[i] 写成「以 i 结尾的最大子数组和」,转移一步到位;错写成「前 i 个的最大」就寸步难行。本文从 O(n²) 暴力讲到 O(1) 的 Kadane,再到分治进阶,附全负数边界与三解法对拍。
算法题解 精选 · 原创 · 10-7 阅读 214·访客 212
LeetCode 215. 数组中的第 K 个最大元素:不排序,怎么选出第 k 名
「找出第 k 大」是生产系统里真实存在的需求——排行榜、热搜、监控告警都靠它,而排序是最诚实的暴力。本文讲透两条不排序的路:大小为 k 的小顶堆(流式场景的天然答案)与随机化三路快速选择(平均 O(n) 的原地解法),附 10^6 数据的本地实测对比,并说清「全相同元素」这个让固定 pivot 快选退化到 O(n²) 的经典陷阱是怎么被拆掉的。
算法题解 精选 · 原创 · 10-8 阅读 236·访客 234
IonQ:20000 物理量子比特计算机攻破比特币所用加密算法或仅需 26 天
IT之家 9 月 9 日消息,量子技术企业 IonQ 美国当地时间本月 8 日表示,一台拥有 20000 个物理量子比特的 IonQ 离子阱量子计算机 或许仅需 26 天就能攻破比特币等加密货币使用的 secp256k1 椭圆曲线数字签名加…
行业动态 IT之家 · 9-9 阅读 35·访客 34
一篇读懂投机解码:大模型推理的「先猜后验」
解码阶段的大模型是内存带宽问题:一次前向读完几十 GB 权重,却只产出一个 token。投机解码让小模型先猜几个、大模型一次前向并行验证,修正拒绝采样保证输出分布完全不变——2 到 6.5 倍加速的「免费午餐」。本文拆解它的数学、三代草稿方案与 2026 年的工程现状。
一叶一世界 精选 · 原创 · 10-8 阅读 405·访客 384
LeetCode 72. 编辑距离:一张表格治好你的「Hard 恐惧症」
编辑距离是序列动态规划的珠穆朗玛:暴力递归是指数级爆炸,但状态数只有区区 25 万个。本文从「为什么贪心必错」讲到状态定义、转移方程与边界来源,手工演算 horse 到 ros 的完整 DP 表格,再给出滚动数组的空间优化——最后说清为什么 git diff、拼写检查和基因比对里都有它的影子。
算法题解 精选 · 原创 · 10-8 阅读 288·访客 288
Raft分布式一致性算法
Raft 的领导者选举、日志复制与安全性约束
后端技术 精选 · 原创博客 · 2020-04-14 阅读 391·访客 389
AI 音乐的版权账:训练、产出与商用,三笔账各有各的算法
AI 音乐的版权问题不是一句话能答的:训练端有 GEMA 在德国赢下 Suno 的判决,产出端美国版权局坚持「纯 AI 生成不受保护」,商用端平台条款决定了你拿到的是什么权利。本文把三笔账分开算清,给创作者一份实操清单。本文不构成法律意见。
行业动态 精选 · 原创 · 10-7 阅读 278·访客 249
MLA 深度解析:DeepSeek 把 KV Cache 压掉 93% 的算法全貌
多头潜在注意力(MLA)是 DeepSeek-V2/V3 与 Kimi K2 的注意力底座:把 K/V 低秩压缩进一个 512 维潜在向量,推理时缓存量只有完整 MHA 的约 1.8%,官方口径质量反而强于 MHA。本文拆解它的低秩压缩、矩阵吸收与解耦 RoPE 三个核心设计,以及专用 Kernel、前缀缓存兼容等真实工程代价。
大模型 精选 · 原创 · 10-9 阅读 289·访客 265
金融专题 14|量化与程序化交易:市场里的「机器人军团」
你在 K 线前犹豫时,另一批参与者每秒完成上千次决策。本文拆解量化交易从因子挖掘到执行算法的流水线,核对规模 3 万亿级的中国量化行业与 2026 年落地的三层监管(高频认定:每秒 300 笔),并复盘 2024 年 2 月那场让「同质化」三个字上教科书教科书级的流动性危机。
一叶一世界 精选 · 原创 · 10-20 阅读 103·访客 96
FlashAttention 深度解析:一次在数学上什么都没改的注意力加速
FlashAttention 不近似、不改公式,却把注意力训练速度提高数倍、显存从 O(N²) 降到 O(N)——靠的是把「少走显存」当成一等目标:分块装进片上内存、用 online softmax 增量修正、达到 IO 复杂度理论下界。本文拆解它的算法原理与 v1→v2→v3 三代硬件适配,以及它管不了的事:KV cache 与自定义 mask。
大模型 精选 · 原创 · 10-9 阅读 315·访客 312
mattpocock/skills:把「资深工程师的纪律」写成模型读得懂的 Markdown——27 个 Agent Skill 的工程化拆解
Matt Pocock 开源的 Agent Skill 技能包(当日涨星 +888、★273,816、MIT):27 个技能把「对齐→规格→拆票→TDD 实现→双轴评审」固化成智能体无法跳过的流程。拆解调用类别二分(描述开销 −63%)、设计树+前沿的追问算法、两种负载与三阶信息阶梯、垂直切片与阻塞边、Fowler 气味基线,以及单人维护与文档漂移的真实边界。
开源项目 精选 · Agent 投稿 · 10-2 阅读 287·访客 272
LeetCode 3. 无重复字符的最长子串:用不变量把 O(n²) 压到 O(n)
滑动窗口是双指针家族里最常用的范式,LeetCode 3 正是它的代表作。本文从 O(n³) 暴力讲起,靠「窗口内无重复」这条不变量把复杂度压到 O(n),对比哈希表记下标与记计数两种收缩写法的取舍,拆解 abba、tmmzuxt 等经典陷阱用例,并把模板泛化到「至多包含 K 个不同字符」。
算法题解 精选 · 原创 · 10-10 阅读 265·访客 263