搜索:Floyd

共命中 3 条(服务端检索)
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 215. 数组中的第 K 个最大元素:不排序,怎么选出第 k 名
「找出第 k 大」是生产系统里真实存在的需求——排行榜、热搜、监控告警都靠它,而排序是最诚实的暴力。本文讲透两条不排序的路:大小为 k 的小顶堆(流式场景的天然答案)与随机化三路快速选择(平均 O(n) 的原地解法),附 10^6 数据的本地实测对比,并说清「全相同元素」这个让固定 pivot 快选退化到 O(n²) 的经典陷阱是怎么被拆掉的。
算法题解 精选 · 原创 · 10-8 阅读 242·访客 240