搜索:指针

共命中 50 条(服务端检索)
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 42. 接雨水:从暴力到双指针的四层跃迁
接雨水是「按列求水」模型的经典困难题。本文沿暴力、前缀后缀数组、单调栈、双指针四层递进,讲清每一层优化了什么、为什么对,重点证明双指针 O(1) 空间背后的短板效应,并盘点常见错误、边界用例与四个解法的本地差分验证结果。
算法题解 精选 · 原创 · 10-10 阅读 238·访客 238
LeetCode 15. 三数之和:排序 + 双指针的教科书示范
三数之和是「两层枚举 + 相向双指针」的模板题,真正的考点不是找到三个数,而是在 O(n²) 里把重复三元组干净地排除。本文从暴力解的失败讲起,逐行拆解排序双指针与三条去重规则,附两处剪枝,全部代码本地跑通验证。
算法题解 精选 · 原创 · 10-7 阅读 155·访客 154
快慢指针的应用
数据库游标的底层实现与流式读取实践
后端技术 精选 · 原创博客 · 2020-09-22 阅读 405·访客 402
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 3. 无重复字符的最长子串:用不变量把 O(n²) 压到 O(n)
滑动窗口是双指针家族里最常用的范式,LeetCode 3 正是它的代表作。本文从 O(n³) 暴力讲起,靠「窗口内无重复」这条不变量把复杂度压到 O(n),对比哈希表记下标与记计数两种收缩写法的取舍,拆解 abba、tmmzuxt 等经典陷阱用例,并把模板泛化到「至多包含 K 个不同字符」。
算法题解 精选 · 原创 · 10-10 阅读 270·访客 268
LeetCode 206. 反转链表:迭代、递归与「纸牌串」直觉
迭代版 prev/curr 双指针的三步摘插配「纸牌串」类比,讲透先存 next 防断链的指针纪律;递归版逐行拆解 head.next.next = head 的回头指与置空防环时机;附两版代码与边界用例本地实测、O(n)/O(1) 对 O(n)/O(n) 的复杂度对比与工程取舍。
算法题解 精选 · 原创 · 10-7 阅读 141·访客 140
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
操作系统内功 · 第 27 篇|sk_buff:一个包在内核网络栈里的旅行成本
sk_buff 是内核网络栈的通用货币:一个结构体串起从驱动到协议栈到 socket 的全部路径。本文拆解它的线性数据区与缓冲区头尾指针设计、clone 与 copy 的区别、各层协议头如何被依次剥掉,并算清一次收发的真实成本账(内存分配、拷贝次数、缓存行),解释 GRO/TSO 为什么靠「攒大包」来摊薄这份成本。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 17 篇|mmap:内存映射的工程账本——文件映射、匿名映射与共享的边界
mmap 是理解 Linux 内存管理的枢纽:文件映射把 Page Cache 变成你的指针,匿名映射是 malloc 大块内存的底层真相,MAP_SHARED 是共享内存与进程间零拷贝的共同地基。本文算清 mmap 的三本账——省了什么拷贝、多了什么缺页、丢什么控制权,并给出它对 Redis、Kafka、 RocketMQ 与数据库设计的真实影响。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 236. 最近公共祖先:树形递归的第一课
最近公共祖先是二叉树递归的分水岭题目:解法只有十行,但「为什么两边都命中就是答案」的传播逻辑值得讲透。本文从容易走偏的路径记录法讲到后序递归的优雅解,指出 10 万节点链状树在 Python 里的递归爆栈陷阱,再给出父指针哈希的迭代版本——最后说清 git 的 merge-base、面向对象的菱形继承,用的都是同一个「找分叉点」的模型。
算法题解 精选 · 原创 · 10-8 阅读 249·访客 249
亚马逊开源 Strands Decider 2B 决策模型,支持本地 CPU/GPU 部署
亚马逊 Strands Agents 团队开源了基于 Qwen3.5-2B、采用评分指针头与 rank-16 LoRA 微调的决策模型 Strands Decider 2B,权重在 Hugging Face 上,可在本地硬件运行,2B 级模型中排名第 3,本地决策时延中位数 113ms。
大模型 IT之家 · 10-3 阅读 70·访客 70
相交链表
双指针等距法
算法题解 精选 · 原创博客 · 2024-04-08 阅读 164·访客 162
回文链表
快慢指针 + 后半段反转
算法题解 精选 · 原创博客 · 2024-04-08 阅读 160·访客 159
反转链表
迭代三指针
算法题解 精选 · 原创博客 · 2024-04-08 阅读 150·访客 148
盛最多水的容器
双指针收敛
算法题解 精选 · 原创博客 · 2024-04-05 阅读 151·访客 149
移动零(Move Zeroes)
快慢指针原地交换
算法题解 精选 · 原创博客 · 2024-04-05 阅读 151·访客 150
三数之和
排序 + 双指针去重
算法题解 精选 · 原创博客 · 2024-04-05 阅读 135·访客 135
操作系统内功 · 第 2 篇|虚拟内存:页表、TLB 与一次缺页中断的旅程
malloc 返回的指针为什么「立刻可用」却几乎不花时间?一台 64GB 机器为什么能 mmap 500GB 的文件?本篇拆解虚拟内存这台「期望兑现机器」:四级页表的层级与开销、缺页中断的完整旅程、TLB 与大页的经济学,以及 THP 与 MGLRU 这对自动化与性能的恩怨。
后端技术 精选 · 原创 · 10-26 阅读 83·访客 81
接雨水
双指针 / 单调栈
算法题解 精选 · 原创博客 · 2024-04-05 阅读 130·访客 129
一篇读懂头痛:绝大多数头痛不可怕,可怕的是认错那几种
头痛是人类最高频的疼痛,而它有一个让人安心又必须警觉的双面结构:95% 以上的头痛是原发性的(偏头痛、紧张型、丛集性——病在头痛本身,不致命),剩下的继发性头痛(蛛网膜下腔出血、脑膜炎、青光眼、高血压危象)里藏着需要按分钟计算的急症。本文讲清三大原发性头痛的指纹、红旗信号的清单、以及「止痛药吃太多反而头痛」的悖论。
一叶一世界 精选 · 原创 · 今天 阅读 7·访客 7
操作系统内功 · 第 15 篇|系统调用:从 int 0x80 到 vDSO,一次 syscall 到底贵在哪
系统调用是用户态进入内核态的唯一正门。本文拆解一条 syscall 的完整旅程、三种入口机制的演进(int 0x80 → sysenter → syscall 指令)、成本的三个来源(模式切换、缓存污染、安全缓解),以及 vDSO 如何让 gettimeofday 这类调用彻底绕开陷入,帮你把「少 syscall」从口号变成可度量的工程决策。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 24 篇|VFS 与一切皆文件:统一抽象层的代价与红利
socket、管道、设备、普通文件能用同一套 read/write 接口操作,靠的是 VFS 虚拟文件系统层。本文拆解 VFS 的四个核心对象(superblock/inode/dentry/file)、dentry 缓存与 path lookup 的成本、页缓存与 inode 的绑定关系,以及 procfs/sysfs/devtmpfs 三个「伪装成文件」的内核接口——读完能看懂 /proc 里那些指标的真正来源。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 72. 编辑距离:一张表格治好你的「Hard 恐惧症」
编辑距离是序列动态规划的珠穆朗玛:暴力递归是指数级爆炸,但状态数只有区区 25 万个。本文从「为什么贪心必错」讲到状态定义、转移方程与边界来源,手工演算 horse 到 ros 的完整 DP 表格,再给出滚动数组的空间优化——最后说清为什么 git diff、拼写检查和基因比对里都有它的影子。
算法题解 精选 · 原创 · 10-8 阅读 295·访客 295
LeetCode 200. 岛屿数量:DFS、BFS 与并查集三种解法
数岛屿的本质是在网格图上数连通分量。本文给出 DFS 沉岛、BFS 防爆栈、并查集合并三套完整解法与对比表,讲清各自的空间代价与适用场景,并指出修改原数组、重复入队、方向遗漏等易错点。
算法题解 精选 · 原创 · 10-6 阅读 153·访客 150
马斯克旗下 X 和 SpaceXAI 动议撤回针对苹果和 OpenAI 的诉讼指控
IT之家 9 月 15 日消息,路透社今天(9 月 15 日)发布博文,报道称基于昨日(9 月 14 日)提交的法庭文件,全球首富埃隆 · 马斯克旗下的 X Corp. 和 SpaceXAI 提出动议, 要求撤回去年针对苹果和 OpenAI…
行业动态 IT之家 · 9-15 阅读 27·访客 27
《VRChat》更新创作者指南:禁止使用 AI 生成误导性地图 / 角色缩略图,尚未决定上线“AI 标签”声明
IT之家 10 月 11 日消息,《VRChat》开发商 VRChat Inc. 于 10 月 7 日公布了针对 AI 生成内容的应对方针,同步更新创作者指南。官方明确禁止使用 AI 生成误导性地图 / 角色缩略图,避免创作者利用与实际内容…
行业动态 IT之家 · 10-11 阅读 28·访客 28
马斯克旗下 X 公司与 SpaceXAI 撤回对苹果的反垄断诉讼,针对 OpenAI 继续追责
IT之家 9 月 14 日消息,据路透社报道,埃隆 · 马斯克(Elon Musk)旗下的 X 公司与 SpaceXAI 于周一宣布,已在得克萨斯州联邦法院撤回针对苹果公司的诉讼。该诉讼此前指控苹果合谋非法垄断智能手机以及生成式 AI 聊天…
行业动态 IT之家 · 9-14 阅读 39·访客 39
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
一篇读懂 MySQL 索引优化:B+ 树、覆盖索引与最左前缀
「这条 SQL 为什么慢」是后端工程师的高频问题,答案往往藏在索引里:B+ 树的结构决定了索引的行为、覆盖索引可以避免回表、最左前缀原则决定了联合索引的可用性。本文讲清 MySQL 索引的原理与优化实践。
后端技术 精选 · 原创 · 今天 阅读 1·访客 1
Agent Desktop(vercel-labs/agent-desktop):不用截图猜坐标,把系统无障碍树变成智能体的眼睛和手
Vercel Labs 十月底新收录的 Rust 工具,让 AI 智能体通过操作系统无障碍树「读屏」并操作桌面应用:快照发引用、点击带交付语义、失败重试有依据。本文拆解其架构、JSON 契约五版演进与四类落地场景。
开源项目 精选 · 用户投稿 · 今天 阅读 4·访客 4
操作系统内功 · 第 32 篇|内存屏障与无锁编程:为什么你的无锁队列会坏
编译器与 CPU 都会重排内存操作,MESI 缓存一致性并不等于内存顺序——这就是无锁代码「单线程对、多线程偶坏」的根源。本文讲清重排的三个来源、x86 强模型与 ARM 弱模型的差异、acquire/release 语义的精确含义,用 SPSC 环形队列的正反两版代码演示屏障的位置,并给出 Java volatile、Go atomic、C++ memory_order 的对应关系。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 31 篇|上下文切换的成本解剖:直接成本、间接成本与 TLB shootdown
「上下文切换 1 微秒」是流传最广的性能迷信——直接成本确实小,间接成本才是大头。本文拆解三层账单:寄存器与内核栈的机械成本、缓存与 TLB 污染的间接成本、跨 CPU 迁移与 TLB shootdown 的核间成本;用 cs/pidstat/vmstat 的正确读法定位切换来源,并解释 Go 调度器、Java 虚拟线程、io_uring 如何各自偿还这笔债。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 18 篇|CPU 缓存与伪共享:缓存行、MESI 与 false sharing 的定位与消除
多核程序的性能悬崖常常不在算法而在缓存行。本文从缓存层次结构讲到缓存一致性协议 MESI,重点解剖 false sharing——两个无关变量挤在同一 64 字节缓存行导致核间缓存乒乓——的现象、测量(perf c2c)与消除(对齐填充),并用 Java @Contended、Go padding、Linux per-cpu 变量三个真实案例收尾。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 22 篇|O_DIRECT:绕过 Page Cache 的得与失——数据库为什么自管缓存
O_DIRECT 让 IO 完全绕过 Page Cache,把缓存管理与刷盘时机还给应用。本文讲清 Direct IO 的语义边界(对齐要求、无预读、无缓存合并)、它解决的双缓存问题、MySQL InnoDB O_DIRECT 与 PostgreSQL buffered 的路线分歧,以及 io_uring 时代 Direct IO 从小众走向主流的转折。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 16 篇|进程间通信全景:管道、共享内存与 Unix 域套接字怎么选
IPC 是多进程架构的血管。本文把 Linux 六类 IPC 机制放进同一张坐标系:管道/命名管道、消息队列、信号、信号量、共享内存、Unix 域套接字,拆解每种的数据路径与拷贝次数,给出「控制面走 UDS、数据面走共享内存、事件通知走 eventfd」的现代选型结论,并用 nginx 与 Chromium 的真实设计佐证。
后端技术 精选 · 原创 · 今天 阅读 0·访客 0
操作系统内功 · 第 8 篇|容器底座:namespace、overlayfs 与 cgroup v2
容器不是虚拟机——没有 guest kernel,只有三个内核老特性的组合拳:namespace 管隔离、overlayfs 管镜像、cgroup 管配额。本篇拆解 namespace 八兄弟的分工与 user namespace 的安全争议、overlayfs 的 copy-up 机制、cgroup v2 统一层级,以及 K8s 里 OOM 误杀的完整逻辑链。
后端技术 精选 · 原创 · 10-26 阅读 78·访客 74
操作系统内功 · 第 9 篇|eBPF:从抓包过滤器到内核可编程层
一门 1992 年为 tcpdump 设计的过滤语言,三十年后成了云原生时代的「内核可编程层」:Cloudflare 用它单核丢弃一千万包/秒,Cilium 用它替换 kube-proxy,全行业却也在收紧它的权限。本篇讲透 eBPF 的验证器、CO-RE 可移植性、XDP 实战与安全争议。
后端技术 精选 · 原创 · 10-26 阅读 85·访客 84
操作系统内功 · 第 10 篇|性能观测方法论:USE 方法、火焰图与 P99 尾延迟
「系统变慢了」是最难的工单——工具人人都有,方法论才分高下。系列收官篇讲透三套底层功法:给每个资源问三个问题的 USE 方法、让热点自己浮出来的火焰图、以及 P99 为什么比均值重要的尾延迟理论,外加压测圈最大的谎言「协调遗漏」。
后端技术 精选 · 原创 · 10-26 阅读 73·访客 72
一篇读懂垃圾回收:从引用计数到三色标记
Java 的 STW、Go 的并发标记、Python 的引用计数加循环回收——同一句「自动内存管理」背后是两套完全不同的世界观。本文讲清垃圾回收的根本问题(可达性)、两大流派(引用计数与追踪式)、三色标记与写屏障的并发魔法,以及分代假说为什么几乎统治了所有运行时。
一叶一世界 精选 · 原创 · 10-25 阅读 57·访客 56
LeetCode 4. 寻找两个正序数组的中位数:一道 Hard 背后的二分思想
合并后取中位数人人会写,O(log(m+n)) 才是这道题的灵魂。本文从「中位数 = 划分点」这个视角重构问题,讲透最直观的「找第 k 小」解法,给出一份本地验证通过的 Python 实现(含 20000 组随机对拍),再对比面试官更爱的「切分线」解法,最后说清为什么这道题是二分思想的试金石。
算法题解 精选 · 原创 · 10-25 阅读 55·访客 55
LeetCode 23. 合并 K 个升序链表:堆与分治的两种解法
K 个有序链表合并成一个,朴素做法 O(N·k),堆与分治都能压到 O(N log k)——但两者的空间、常数与工程含义完全不同。本文从「K 路归并」的通用模型讲起,给出两种解法的 Python 实现(本地验证含 30000 组对拍),并把这道题放进「多路有序数据合并」的行业场景里看。
算法题解 精选 · 原创 · 10-25 阅读 56·访客 55
LeetCode 460. LFU 缓存:比 LRU 多一层账本,把 O(1) 设计题做满
LRU 只看「多久没用」,LFU 还要看「用得多不多」——多出来的这层频率账本,让 O(1) 的设计难度陡增。本文从朴素方案的瓶颈推到「频率桶 + 双向链表」的双字典结构,逐段讲透驱逐与晋升的每一步,最后用本地测试跑通边界用例,顺带看看 Redis 是怎么把这套思想塞进 24 个比特的。
算法题解 精选 · 原创 · 10-24 阅读 62·访客 60
Java 25 LTS 与虚拟线程这三年:从 pinning 之痛到放心用
Java 25 是继 21 之后的又一个 LTS:紧凑对象头转正、简单源文件定稿、Scoped Values 定稿、AOT 缓存一条命令可用。本文以官方 JEP 为准过一遍关键特性,并复盘虚拟线程落地三年的生产经验——pinning 的来龙去脉、适用边界与响应式编程的取舍。
后端技术 精选 · 原创 · 10-10 阅读 545·访客 536