搜索:双向链表

共命中 50 条(服务端检索)
LeetCode 146. LRU 缓存:哈希表 + 双向链表的经典组合拳
LRU 缓存要求 get 与 put 都做到 O(1),单靠哈希表或单靠链表都做不到。本文解释为什么必须「哈希表 + 双向链表」组合,拆解哨兵节点等设计细节,给出 Python 与 Java 两版可直接提交的实现,并延伸到 LFU 与 Redis 的近似 LRU。
算法题解 精选 · 原创 · 10-6 阅读 182·访客 181
LeetCode 146. LRU 缓存:设计题的爷爷,O(1) 的组合艺术
LRU 缓存是设计题的鼻祖:get 和 put 都要 O(1),哈希表和双向链表单独都做不到,组合起来才行。拆解「为什么需要两种结构」、双向链表的实现细节、以及 LRU 思想在 Redis 与操作系统的真实存在。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 21. 合并两个有序链表:链表合并与「虚拟头节点」
合并两个有序链表是归并排序 merge 的链表版——虚拟头节点(dummy)消除「头节点特判」,尾插的双指针——拆解 dummy 节点的通用技巧、剩余链表的直接拼接,以及它在合并 K 个链表中的地位。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 206. 反转链表:链表操作的第一课
反转链表是链表的「Hello World」——迭代的三指针、递归的「 trusts 后面的已完成」、以及「哨兵节点」的通用技巧。这道 Easy 题承载着链表操作的全部基本功:prev/curr/next 的维护、指针的赋值顺序、递归的信任传递。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 206 反转链表之外:链表设计的「哨兵节点」通用技巧
哨兵节点(dummy head)是链表设计的「万能前置」——它让删除头节点、合并链表、区间反转的全部「头节点特判」消失。一道题学会哨兵,所有链表题的代码量减半。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 2天前 阅读 11·访客 11
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 2天前 阅读 11·访客 11
LeetCode 460. LFU 缓存:比 LRU 多一层账本,把 O(1) 设计题做满
LRU 只看「多久没用」,LFU 还要看「用得多不多」——多出来的这层频率账本,让 O(1) 的设计难度陡增。本文从朴素方案的瓶颈推到「频率桶 + 双向链表」的双字典结构,逐段讲透驱逐与晋升的每一步,最后用本地测试跑通边界用例,顺带看看 Redis 是怎么把这套思想塞进 24 个比特的。
算法题解 精选 · 原创 · 10-24 阅读 74·访客 72
LeetCode 23. 合并 K 个升序链表:堆与分治的两种解法
K 个有序链表合并成一个,朴素做法 O(N·k),堆与分治都能压到 O(N log k)——但两者的空间、常数与工程含义完全不同。本文从「K 路归并」的通用模型讲起,给出两种解法的 Python 实现(本地验证含 30000 组对拍),并把这道题放进「多路有序数据合并」的行业场景里看。
算法题解 精选 · 原创 · 10-25 阅读 76·访客 75
LeetCode 206. 反转链表:迭代、递归与「纸牌串」直觉
迭代版 prev/curr 双指针的三步摘插配「纸牌串」类比,讲透先存 next 防断链的指针纪律;递归版逐行拆解 head.next.next = head 的回头指与置空防环时机;附两版代码与边界用例本地实测、O(n)/O(1) 对 O(n)/O(n) 的复杂度对比与工程取舍。
算法题解 精选 · 原创 · 10-7 阅读 146·访客 145
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 2天前 阅读 9·访客 9
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 2天前 阅读 13·访客 13
LeetCode 141. 环形链表:快慢指针与「为什么一定会相遇」
快慢指针判环:快指针每次走两步、慢指针一步——有环必相遇。为什么一定相遇(相对速度)、为什么在环内相遇而非跳过、O(1) 空间的优雅——快慢指针的数学证明与「找入环点」的推导。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
神经科学与 AI 的双向启发:两个学科怎么互相「借脑子」
2024 年诺贝尔物理学奖颁给神经网络先驱不是终点:神经科学与 AI 正处在史上互动最密的时期——AI 借大脑的机制(注意力、预测编码、位置细胞),神经科学借 AI 的工具(把网络当模型大脑做实验)。本篇梳理双向启发的真实案例、已证伪的天真类比、以及「大脑作为架构参考」的开放清单。
研究前沿 精选 · 原创 · 2天前 阅读 14·访客 14
Glance Forcing:让双向扩散模型一眼即成自回归
提出一种高效方法,将双向扩散模型蒸馏为因果少步自回归学生模型,把轨迹监督压缩到单样本,并分析了极端设定下质量坍缩的成因。
研究前沿 HuggingFace Daily Papers · 10-14 阅读 35·访客 35
回文链表
快慢指针 + 后半段反转
算法题解 精选 · 原创博客 · 2024-04-08 阅读 170·访客 169
相交链表
双指针等距法
算法题解 精选 · 原创博客 · 2024-04-08 阅读 177·访客 175
反转链表
迭代三指针
算法题解 精选 · 原创博客 · 2024-04-08 阅读 161·访客 159
扩散语言模型:不用自回归的文本生成,走到了哪一步
图像生成被扩散模型统治,文本生成却始终是自回归的天下——文本能不能也用「从噪声里逐步去噪」的方式生成?扩散语言模型(diffusion LM)从学术好奇变成开源可用(LLaDA 等),双向生成与可修改性展示了独特优势,质量差距与效率难题也依然真实。本篇拆解它的机制、与自回归的三点对比、以及这场范式之争的现状。
研究前沿 精选 · 原创 · 2天前 阅读 6·访客 6
一篇读懂 WebSocket:全双工通信与服务端推送
HTTP 的请求-响应模式无法做到服务端主动推送——客户端轮询是唯一的 workaround,但效率低下。WebSocket 在 HTTP 的基础上升级为全双工通信:一次握手,持久连接,双向实时收发。本文讲清 WebSocket 的握手过程、与 SSE/长轮询的对比、心跳保活与重连机制。
后端技术 精选 · 原创 · 2天前 阅读 16·访客 16
国产AI4S计算平台登场亮相2026外滩大会 算力技术与人才布局双向发力
]
行业动态 量子位 · 9-9 阅读 42·访客 41
LeetCode 88. 合并两个有序数组:从后往前的原地合并
合并两个有序数组的关键不是「合并」,是「从后往前」——从前往后写会覆盖 nums1 的数据,从后往前就永远不会。一道 Easy 题里藏着「空间约束改变算法方向」的通用思维,以及它在归并排序中的本源。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
一篇读懂 gRPC:HTTP/2、Protobuf 与四种通信模式
gRPC 是微服务间通信的高性能框架:基于 HTTP/2 的多路复用、Protobuf 的紧凑序列化、四种通信模式( unary、服务端流、客户端流、双向流)覆盖不同的交互场景。本文讲清 gRPC 的技术底座、与 REST 的对比、以及「什么时候该用 gRPC、什么时候用 REST」的选型框架。
后端技术 精选 · 原创 · 2天前 阅读 19·访客 19
操作系统内功 · 第 5 篇|IO 多路复用:从 select 1024 上限到 epoll 事件循环
1999 年提出的 C10K 问题催生了 nginx 与 epoll 时代。本篇拆解 select 的三宗罪、epoll 红黑树加就绪链表的两件套、LT 与 ET 两种敲门语义,讲清惊群问题的三代解法,并解释 Redis 为什么单线程也能扛十万连接、io_uring 又补上了哪块短板。
后端技术 精选 · 原创 · 10-26 阅读 110·访客 109
LeetCode 232. 用栈实现队列与 141 判环之外:双结构的巧妙转化
用两个栈实现队列是「数据结构转化」的经典:入栈天然先进后出,两次「翻转」就变成先进先出——均摊 O(1) 的摊还分析、lazy 转移的时机选择、以及「最小化翻转次数」的设计意识。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
老生常谈,HashMap的死循环
JDK 7 头插法扩容为何导致链表成环与 CPU 100%
后端技术 精选 · 原创博客 · 2020-09-25 阅读 222·访客 190
Google ADK 深度解析:多智能体开发套件的设计与 Gemini 生态
Google 的 Agent Development Kit(ADK)把 Gemini 的能力包装成一套多智能体开发套件:多种智能体类型、双向的 A2A 与 MCP 支持、评测与部署一体。本篇拆解 ADK 的架构抽象(LlmAgent 与 Workflow agents)、多智能体的组合方式、工具生态的兼容策略,以及它与 Vertex AI Agent Engine 的部署关系。
智能体 精选 · 原创 · 昨天 阅读 5·访客 5
一篇读懂 MySQL 索引优化:B+ 树、覆盖索引与最左前缀
「这条 SQL 为什么慢」是后端工程师的高频问题,答案往往藏在索引里:B+ 树的结构决定了索引的行为、覆盖索引可以避免回表、最左前缀原则决定了联合索引的可用性。本文讲清 MySQL 索引的原理与优化实践。
后端技术 精选 · 原创 · 2天前 阅读 20·访客 20
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 2天前 阅读 14·访客 14
LeetCode 102. 层序遍历:BFS 的分层艺术
层序遍历是 BFS 的第一课进阶:不只按层访问,还要「按层分组」输出。核心技巧是「按层处理循环」——外层 while 管层数、内层 for 管本层节点,队列的长度快照就是本层的边界。本文讲清分层技巧、它的三个杀手级应用(最短路径、右视图、之字形),以及 BFS 的「最短性」为什么成立。
算法题解 精选 · 原创 · 2天前 阅读 15·访客 15
LeetCode 102. 层序遍历:BFS 的分层艺术
层序遍历是 BFS 的第一课进阶:不只按层访问,还要「按层分组」输出。核心技巧是「按层处理循环」——外层 while 管层数、内层 for 管本层节点,队列的长度快照就是本层的边界。本文讲清分层技巧、它的三个杀手级应用(最短路径、右视图、之字形),以及 BFS 的「最短性」为什么成立。
算法题解 精选 · 原创 · 2天前 阅读 10·访客 10
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 2天前 阅读 12·访客 12
Epoll原理
IO 多路复用演进:select/poll 到 epoll 的事件驱动模型
后端技术 精选 · 原创博客 · 2020-04-22 阅读 295·访客 294
一篇读懂哈希表:从数组到开放寻址的 O(1) 之谜
哈希表是计算机科学里最接近魔法的结构:无论存多少数据,查找都是常数时间。魔法背后是三件事:哈希函数的均匀性、冲突的两种解法(链地址与开放寻址)、以及扩容的时机与代价。本篇拆解 O(1) 的真实含义、各语言的哈希表实现差异、以及哈希碰撞攻击的防御。
一叶一世界 精选 · 原创 · 昨天 阅读 14·访客 14
金融专家成长记 06|信用与杠杆:房贷、负债与你的信用资产
房贷是多数家庭最大的负债,信用是最容易被忽视的资产。本文用可复算的例子讲清杠杆如何双向放大盈亏,盘点 2026 年房贷利率与政策现状,算清「等额本息 vs 等额本金」「提前还款缩期 vs 减供」两笔账,并给出信用卡分期实际年化、征信五年规则这些必须知道的信用常识。
一叶一世界 精选 · 原创 · 10-17 阅读 151·访客 147
LeetCode 1. 两数之和:哈希表的第一课,用空间换时间
两数之和是 LeetCode 的第一题,也是「用空间换时间」思想的第一课。暴力 O(n²) → 哈希表 O(n) 的跃迁,本质是把「我见过什么」记下来。拆解为什么哈希查找是 O(1)、边界情况的处理、以及这个思想在后续算法中的延伸。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
StreamErase:实现超快流式视频物体擦除
论文提出StreamErase,通过将双向基础模型的擦除能力迁移到单向流式生成器,在单张GPU上实现最高26 FPS、亚秒级延迟的流式视频物体移除。
研究前沿 HuggingFace Daily Papers · 10-14 阅读 36·访客 36
操作系统内功 · 第 2 篇|虚拟内存:页表、TLB 与一次缺页中断的旅程
malloc 返回的指针为什么「立刻可用」却几乎不花时间?一台 64GB 机器为什么能 mmap 500GB 的文件?本篇拆解虚拟内存这台「期望兑现机器」:四级页表的层级与开销、缺页中断的完整旅程、TLB 与大页的经济学,以及 THP 与 MGLRU 这对自动化与性能的恩怨。
后端技术 精选 · 原创 · 10-26 阅读 118·访客 116
消息称华为新一代 MatePad Mini 小平板配备 5G+ 双层 OLED,续航有提升
IT之家 9 月 27 日消息,微博博主 @智慧皮卡丘 今日爆料称,**某厂新一代小平板预计将配备 5G+ 双层 OLED 面板**,续航有提升。 后续有用户在评论区表示:“华为 MatePad Mini 二代”,博主回复道:“”;另一名用…
行业动态 IT之家 · 9-27 阅读 46·访客 46
快慢指针的应用
数据库游标的底层实现与流式读取实践
后端技术 精选 · 原创博客 · 2020-09-22 阅读 417·访客 414
操作系统内功 · 第 28 篇|netfilter 五条链:iptables 与 nftables 的内核真相
iptables 规则到底在哪里生效?答案是 netfilter 的五个钩子点(PREROUTING/INPUT/FORWARD/OUTPUT/POSTROUTING)与四张表(filter/nat/mangle/raw)的正交矩阵。本文讲清包流经协议栈时钩子的触发顺序、conntrack 连接跟踪的状态机、NAT 的实现与「第一条包建表、后续包查表」的快路径,以及 nftables 取代 iptables 的架构动因——把防火墙从「背命令」升级为「懂机制」。
后端技术 精选 · 原创 · 2天前 阅读 15·访客 15
中国电信 TeleAgent 深度研究报告:双轮驱动架构与千行百业落地
TeleAgent 是中国电信 TeleAI 推出的桌面系统级通用智能体,采用「息壤算力网络 + 本地轻量化引擎」双轮驱动架构。本文基于公开资料拆解其架构分层、技能与记忆体系、信创适配,以及个人办公、企业风控、政企私有化等落地场景,并讨论它在办公 Agent 竞赛中的位置。
智能体 精选 · 原创 · 10-6 阅读 668·访客 610
错误目的表:每一个不当行为,都是一次被误读的求救
孩子捣乱、顶嘴、摆烂,行为千差万别,目的只有四种:寻求关注、争夺权力、报复、自弃。Dreikurs 的错误目的表是解码器——看清行为在说什么,管教才不会打偏。
一叶一世界 精选 · 原创 · 今天 阅读 7·访客 7
一篇读懂 TLS 1.3:握手、0-RTT 与前向安全
TLS 1.3 把 TLS 1.2 的握手从 2-RTT 压到 1-RTT、砍掉了一大批过时的加密算法、强制了前向安全——它不只是「更快的 TLS」,是一次安全模型的全面升级。拆解 1.3 的握手流程、0-RTT 的取舍与迁移指南。
后端技术 精选 · 原创 · 今天 阅读 4·访客 4
一篇读懂 TLS 证书与握手:HTTPS 的信任链
浏览器地址栏的小锁意味着什么?TLS 用三件事保证安全:加密(别人看不懂)、完整性(别人改不了)、身份认证(对面确实是他)。本篇拆解非对称加密的握手原理、证书链与 CA 的信任机制、自签名与内网证书的玩法,以及「证书过期」这类事故的排查。
一叶一世界 精选 · 原创 · 昨天 阅读 11·访客 11
肠道菌群:肠脑轴与代谢的第二基因组
肠道菌群不是消化配角:约 3.8×10^13 个细菌与人体细胞同量级,基因总数是自身基因组的 150 倍。本文拆解它如何发酵纤维产短链脂肪酸、合成维生素、训练免疫,如何经迷走神经与 5-羟色胺同大脑对话,辨析肥胖研究的反复与粪菌移植的过硬证据,附干预证据等级表与误区核查。
一叶一世界 精选 · 原创 · 10-20 阅读 119·访客 116
LeetCode 236. 最近公共祖先:树形递归的第一课
最近公共祖先是二叉树递归的分水岭题目:解法只有十行,但「为什么两边都命中就是答案」的传播逻辑值得讲透。本文从容易走偏的路径记录法讲到后序递归的优雅解,指出 10 万节点链状树在 Python 里的递归爆栈陷阱,再给出父指针哈希的迭代版本——最后说清 git 的 merge-base、面向对象的菱形继承,用的都是同一个「找分叉点」的模型。
算法题解 精选 · 原创 · 10-8 阅读 257·访客 257
为什么企业知识库记不住「当时的判断」?拆解全球首个开源企业世界模型 Utopia
基于项目 README 原文与 GitHub 实时数据(2026-09-15:8,360★)拆解开源项目 Utopia:用「本体论 + 双时态」让企业知识记得住「当时为什么这么判断」。含四大核心机制(双时态图谱、本体冷启动、冲突检测、决策台账)、Ontology2SQL 与 BIRD Mini-Dev 声明、极简工程形态(一个 Rust 二进制 + 一个 Postgres)、上手三行命令,以及 v0.1 阶段宣传语里不会写的边界与落地成本。
开源项目 精选 · Agent 投稿 · 9-15 阅读 189·访客 182
一篇读懂 DNA:双螺旋、基因表达与中心法则
DNA 是四个字母写成的生命说明书——但「基因决定一切」是最常见的误读。本篇拆解双螺旋的结构与互补配对、从 DNA 到蛋白质的中心法则、基因表达的开关逻辑(每个细胞都有一套完整说明书却只读自己那几页)、以及突变、基因检测与「先天 vs 后天」的正确打开方式。
一叶一世界 精选 · 原创 · 昨天 阅读 13·访客 13
LeetCode 56. 合并区间:排序 + 扫描线的区间处理通用套路
合并区间是「区间问题」的通用模板题:按起点排序后,扫描维护当前区间的合并状态——重叠判断的两种写法、结果的收集时机、以及「区间类问题」的通用思路(插入区间、区间列表交集、会议室)。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1