搜索:共识算法

共命中 50 条(服务端检索)
一篇读懂 Raft:选主、日志复制与安全性
分布式共识算法是分布式系统的「心脏」——Raft 用「选主 + 日志复制 + 安全性约束」三件事,把 Paxos 的晦涩翻译成了工程师能理解的算法。拆解 Raft 的机制与它的工程实现(etcd、TiKV、Consul)。
后端技术 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 169. 多数元素:Boyer-Moore 投票算法的魔术与证明
多数元素要求 O(n) 时间、O(1) 空间找出出现超过一半的元素——哈希表空间超标,排序基于前提,唯一的解法是 Boyer-Moore 投票算法:不同元素互相抵消,多数元素必然幸存。本文讲清这个「魔术」的直觉、两行代码的正确性证明、以及它的推广与失效边界。
算法题解 精选 · 原创 · 2天前 阅读 13·访客 13
LeetCode 169. 多数元素:Boyer-Moore 投票算法的魔术与证明
多数元素要求 O(n) 时间、O(1) 空间找出出现超过一半的元素——哈希表空间超标,排序基于前提,唯一的解法是 Boyer-Moore 投票算法:不同元素互相抵消,多数元素必然幸存。本文讲清这个「魔术」的直觉、两行代码的正确性证明、以及它的推广与失效边界。
算法题解 精选 · 原创 · 2天前 阅读 5·访客 5
LeetCode 46. 全排列:回溯算法的第一课
全排列是回溯算法的第一课:「选择→递归→撤销」的三步循环,是所有回溯题(子集、组合、N 皇后、数独)的共同骨架。本文讲清回溯的状态管理(used 数组与路径)、为什么这题不需要「去重剪枝」、以及从全排列到子集——两种遍历决策树的差异。
算法题解 精选 · 原创 · 2天前 阅读 7·访客 7
LeetCode 46. 全排列:回溯算法的第一课
全排列是回溯算法的第一课:「选择→递归→撤销」的三步循环,是所有回溯题(子集、组合、N 皇后、数独)的共同骨架。本文讲清回溯的状态管理(used 数组与路径)、为什么这题不需要「去重剪枝」、以及从全排列到子集——两种遍历决策树的差异。
算法题解 精选 · 原创 · 2天前 阅读 8·访客 8
Raft算法
Raft 论文的中文精读:从复制状态机出发理解共识
后端技术 精选 · 原创博客 · 2020-04-20 阅读 384·访客 382
一篇读懂分布式 ID:UUID、雪花算法与号段模式
微服务与分库分表时代,数据库自增 ID 不再够用——需要一个跨服务、跨数据库的全局唯一 ID。UUID、雪花算法、号段模式是三种主流方案:各自在唯一性、有序性、性能上做出不同的取舍。本文讲清三种方案的实现与选型。
后端技术 精选 · 原创 · 2天前 阅读 11·访客 11
AI 与农业:遥感、植保与泥土里的算法
农业是 AI 落地最「接地气」的行业:卫星与无人机遥感在数亿亩耕地上方巡天,AI 植保识别病虫害,算法在调配水肥。农业 AI 的特点与城市产业完全相反——环境不可控、数据难采集、回报周期长,但它的价值是粮食安全级的。本文讲清农业 AI 的真实落地地图与「泥土里做算法」的硬功夫。
行业动态 精选 · 原创 · 2天前 阅读 17·访客 17
一篇读懂限流算法:从固定窗口到令牌桶
固定窗口、滑动窗口、漏桶、令牌桶四种限流算法逐个拆解:各自怎么工作、临界突刺藏在哪、适合什么场景。附固定窗口与令牌桶的可运行 TypeScript 实现,最后给一张选型表,并交代 Redis + Lua 的分布式落地现实。
一叶一世界 精选 · 原创 · 10-10 阅读 731·访客 729
从 4K 到百万 token:RoPE 上下文扩展算法深度解析
现代大模型的百万上下文,几乎都建立在 2021 年的旋转位置编码与 2023 年的一系列外推算法之上。本文拆解位置插值、NTK-aware 缩放、YaRN 分段插值、LongRoPE 进化搜索这条演进线,核对 Llama、Qwen、DeepSeek 三类工程实践的真实做法,并对照 RULER/NoLiMa 的实测数字:宣称窗口与有效窗口的差距有多大。
大模型 精选 · 原创 · 10-9 阅读 260·访客 255
澳大利亚想要社媒平台允许用户退出算法驱动的信息流
在禁止儿童使用社媒平台之后,澳大利亚工党政府提出了一项新的法律草案,要求社媒平台允许用户退出算法驱动的信息流。用户可选择算法推荐的个性化内容作为默认信息流,或者拒绝接收算法推荐的内容,只浏览用户关注的朋友和创作者的内容。被称为 My Fee…
行业动态 Solidot · 9-8 阅读 37·访客 35
中国生成式 AI 监管地图:备案双轨、标识新规与开发者的合规清单
备案是中国生成式 AI 监管的主轴:算法备案与大模型备案双轨并行,2025 年 9 月起《人工智能生成合成内容标识办法》与强制性国标 GB 45438-2025 把显式/隐式标识义务落到像素级。本文面向开发者梳理法规层级、备案触发条件与落地清单。本文不构成法律意见。
行业动态 精选 · 原创 · 10-7 阅读 357·访客 261
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 2天前 阅读 23·访客 23
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 2天前 阅读 6·访客 6
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 2天前 阅读 12·访客 12
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 2天前 阅读 6·访客 6
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 2天前 阅读 7·访客 7
LeetCode 207. 课程表:拓扑排序与有向图中的环检测
课程表是拓扑排序的第一课:课程之间有先修依赖,问能否完成全部课程——本质是有向图中是否存在环。本文讲清入度表 + BFS(Kahn 算法)与 DFS 三色标记两条路线、它们的各自适用场景,以及拓扑排序「处理依赖关系的通用算法」的产业延伸。
算法题解 精选 · 原创 · 2天前 阅读 5·访客 5
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 2天前 阅读 13·访客 13
LeetCode 207. 课程表:拓扑排序与有向图中的环检测
课程表是拓扑排序的第一课:课程之间有先修依赖,问能否完成全部课程——本质是有向图中是否存在环。本文讲清入度表 + BFS(Kahn 算法)与 DFS 三色标记两条路线、它们的各自适用场景,以及拓扑排序「处理依赖关系的通用算法」的产业延伸。
算法题解 精选 · 原创 · 2天前 阅读 9·访客 9
「不打不成器」的证据账:体罚研究的共识
打孩子是华人家庭流传最广的教养传统,「我们都是被打大的,不也好好的」。但过去三十年的研究给出的图景相当一致:体罚与孩子的攻击行为、焦虑抑郁、亲子关系恶化稳定相关,且「打一次见效」的短期服从背后有清晰的长期成本。本文讲清证据的强度、常见反方的回应、「我小时候被打也没事」的幸存者偏差,以及不用打的管教到底靠什么立住。
一叶一世界 精选 · 原创 · 3天前 阅读 17·访客 17
IonQ:20000 物理量子比特计算机攻破比特币所用加密算法或仅需 26 天
IT之家 9 月 9 日消息,量子技术企业 IonQ 美国当地时间本月 8 日表示,一台拥有 20000 个物理量子比特的 IonQ 离子阱量子计算机 或许仅需 26 天就能攻破比特币等加密货币使用的 secp256k1 椭圆曲线数字签名加…
行业动态 IT之家 · 9-9 阅读 36·访客 35
Raft分布式一致性算法
Raft 的领导者选举、日志复制与安全性约束
后端技术 精选 · 原创博客 · 2020-04-14 阅读 412·访客 410
LeetCode 53. 最大子数组和:Kadane 算法的一步之遥
LeetCode 53 的题眼在状态定义:dp[i] 写成「以 i 结尾的最大子数组和」,转移一步到位;错写成「前 i 个的最大」就寸步难行。本文从 O(n²) 暴力讲到 O(1) 的 Kadane,再到分治进阶,附全负数边界与三解法对拍。
算法题解 精选 · 原创 · 10-7 阅读 228·访客 226
LeetCode 739. 每日温度:单调栈的第二课与「等谁」的变体
每日温度是单调栈的经典第二课:等下一个更暖的日子还要等几天。它与「下一个更大元素」共享同一套单调栈骨架——栈存下标、新元素弹栈结算,变体只在「结算的内容」。本文讲清单调栈的模板化写法、四种常见变体的映射,以及单调栈适用问题的识别特征。
算法题解 精选 · 原创 · 2天前 阅读 9·访客 9
LeetCode 739. 每日温度:单调栈的第二课与「等谁」的变体
每日温度是单调栈的经典第二课:等下一个更暖的日子还要等几天。它与「下一个更大元素」共享同一套单调栈骨架——栈存下标、新元素弹栈结算,变体只在「结算的内容」。本文讲清单调栈的模板化写法、四种常见变体的映射,以及单调栈适用问题的识别特征。
算法题解 精选 · 原创 · 2天前 阅读 12·访客 12
LeetCode 236. 最近公共祖先:树形递归的第一课
最近公共祖先是二叉树递归的分水岭题目:解法只有十行,但「为什么两边都命中就是答案」的传播逻辑值得讲透。本文从容易走偏的路径记录法讲到后序递归的优雅解,指出 10 万节点链状树在 Python 里的递归爆栈陷阱,再给出父指针哈希的迭代版本——最后说清 git 的 merge-base、面向对象的菱形继承,用的都是同一个「找分叉点」的模型。
算法题解 精选 · 原创 · 10-8 阅读 255·访客 255
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 2天前 阅读 13·访客 13
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 2天前 阅读 7·访客 7
AI 与儿童保护:最小用户的最高风险
AI 产品最脆弱的用户是儿童:AI 生成的儿童性虐待材料成为执法机构的新战场,AI 陪伴应用对未成年人的情感操纵引发诉讼,算法推荐把孩子推向有害内容的能力空前。儿童保护在 AI 时代被推到安全议题的最前排——本文讲清风险的三个层面、监管的响应与设计伦理的底线。
行业动态 精选 · 原创 · 2天前 阅读 6·访客 6
大模型能力提升路线图:从"堆参数"到训练全栈 + 外层程序
把 2026 年可核查的公开证据整理成一张六层能力路线图——预训练、后训练 RL、推理时计算、上下文与记忆、智能体与 Harness、世界模型。含 Meta ScaleRL 40 万 GPU 小时实验结论、RL 预算占比 10%–30% 口径、Chinchilla 对比、Meta-Harness 6x 差距等数据锚点,并给出优先级表与算法工程师/产品经理的行动建议。
大模型 精选 · 本站原创 · 9-10 阅读 491·访客 464
操作系统内功 · 第 18 篇|CPU 缓存与伪共享:缓存行、MESI 与 false sharing 的定位与消除
多核程序的性能悬崖常常不在算法而在缓存行。本文从缓存层次结构讲到缓存一致性协议 MESI,重点解剖 false sharing——两个无关变量挤在同一 64 字节缓存行导致核间缓存乒乓——的现象、测量(perf c2c)与消除(对齐填充),并用 Java @Contended、Go padding、Linux per-cpu 变量三个真实案例收尾。
后端技术 精选 · 原创 · 2天前 阅读 17·访客 17
LeetCode 1143. 最长公共子序列:二维 DP 的双子星之一
最长公共子序列(LCS)是二维字符串 DP 的双子星之一(另一颗是编辑距离):两个字符串、一张二维表、一个「相等则左上+1,不等则取左右上最大」的转移。它是 diff 工具、版本比对与无数序列问题的底层模型。本文讲清 LCS 的状态设计、回溯构造方案、以及它与编辑距离的亲缘关系。
算法题解 精选 · 原创 · 2天前 阅读 10·访客 10
LeetCode 1143. 最长公共子序列:二维 DP 的双子星之一
最长公共子序列(LCS)是二维字符串 DP 的双子星之一(另一颗是编辑距离):两个字符串、一张二维表、一个「相等则左上+1,不等则取左右上最大」的转移。它是 diff 工具、版本比对与无数序列问题的底层模型。本文讲清 LCS 的状态设计、回溯构造方案、以及它与编辑距离的亲缘关系。
算法题解 精选 · 原创 · 2天前 阅读 6·访客 6
AI 音乐的版权账:训练、产出与商用,三笔账各有各的算法
AI 音乐的版权问题不是一句话能答的:训练端有 GEMA 在德国赢下 Suno 的判决,产出端美国版权局坚持「纯 AI 生成不受保护」,商用端平台条款决定了你拿到的是什么权利。本文把三笔账分开算清,给创作者一份实操清单。本文不构成法律意见。
行业动态 精选 · 原创 · 10-7 阅读 300·访客 271
LeetCode 121. 买卖股票的最佳时机:一次遍历的状态维护
买卖股票的最佳时机(只能交易一次)是「状态维护」型遍历的入门:维护历史最低价,每天算「今天卖」的利润取最大。它还是股票系列六道题的状态机起点——从一次交易到两次交易到带冷冻期,状态数逐步膨胀。本文讲清它的解法、状态机视角,以及贪心与 DP 的辨析。
算法题解 精选 · 原创 · 2天前 阅读 11·访客 11
LeetCode 121. 买卖股票的最佳时机:一次遍历的状态维护
买卖股票的最佳时机(只能交易一次)是「状态维护」型遍历的入门:维护历史最低价,每天算「今天卖」的利润取最大。它还是股票系列六道题的状态机起点——从一次交易到两次交易到带冷冻期,状态数逐步膨胀。本文讲清它的解法、状态机视角,以及贪心与 DP 的辨析。
算法题解 精选 · 原创 · 2天前 阅读 13·访客 13
LeetCode 23. 合并 K 个升序链表:堆与分治的两种解法
K 个有序链表合并成一个,朴素做法 O(N·k),堆与分治都能压到 O(N log k)——但两者的空间、常数与工程含义完全不同。本文从「K 路归并」的通用模型讲起,给出两种解法的 Python 实现(本地验证含 30000 组对拍),并把这道题放进「多路有序数据合并」的行业场景里看。
算法题解 精选 · 原创 · 10-25 阅读 74·访客 73
LeetCode 32. 最长有效括号:栈、DP 与一次遍历的三种思路
最长有效括号是括号匹配的进阶版:不是判断合法,而是找出最长的合法连续子串。三种解法各有滋味——栈解决「最近未匹配位置」、DP 定义「以 i 结尾的最长有效长度」、正向逆向两次扫描省掉所有额外空间。本文讲清三种思路的共同本质与各自的最优场景。
算法题解 精选 · 原创 · 2天前 阅读 19·访客 19
LeetCode 32. 最长有效括号:栈、DP 与一次遍历的三种思路
最长有效括号是括号匹配的进阶版:不是判断合法,而是找出最长的合法连续子串。三种解法各有滋味——栈解决「最近未匹配位置」、DP 定义「以 i 结尾的最长有效长度」、正向逆向两次扫描省掉所有额外空间。本文讲清三种思路的共同本质与各自的最优场景。
算法题解 精选 · 原创 · 2天前 阅读 6·访客 6
LLM 应用的速率限制与滥用防护:别让人刷破产你
LLM API 的每次调用都是真金白银——没有滥用防护的应用,等于把信用卡贴在门口让人刷。速率限制的算法选型、分层配额的设计、滥用模式的识别与成本攻击的防御,这是一门用「元」计价的工程学。
后端技术 精选 · 原创 · 今天 阅读 2·访客 2
一篇读懂递归:调用栈、尾递归与栈溢出的边界
递归是「函数调用自己」——优雅的数学定义背后是调用栈的机械成本。本篇拆解递归与调用栈的关系、栈溢出的发生机制、尾递归为什么能救(以及哪些语言救不了)、递归转迭代的通用方法,以及「什么时候该用递归」的判断标准。
一叶一世界 精选 · 原创 · 昨天 阅读 11·访客 11
一篇读懂酒精代谢:乙醛、脸红与「解酒」的真相
「喝酒上脸说明代谢好」是最流传的健康谣言之一——脸红恰恰是乙醛堆积的危险信号。本篇拆解酒精的代谢路径(ADH→ALDH 两步氧化)、乙醛的致癌性(一级致癌物实锤)、常见「解酒法」的真伪,以及关于饮酒的几个硬共识。
一叶一世界 精选 · 原创 · 昨天 阅读 17·访客 17
LeetCode 22. 括号生成:带回约束的回溯第二课
括号生成是回溯第二课:全排列教了「选择-递归-撤销」骨架,这道题教「用约束剪枝」——每一步的合法选择由两个计数器(已用的左括号数与右括号数)动态决定。本文讲清约束回溯的写法、剪枝的正确性、以及「暴力生成再过滤」与「边生成边剪枝」的效率鸿沟。
算法题解 精选 · 原创 · 2天前 阅读 13·访客 13
智能体记忆的学术前沿:从 MemoryBank 到海马体索引理论
智能体工程把「记忆」做成了系统(本库 Agent 工程第 4 章),而记忆的学术研究走在另一条更深的线上:记忆的形态学(什么算一条记忆)、遗忘曲线的算法化、以及海马体索引理论对 RAG 架构的直接启发。本篇拆解记忆研究的三条学术脉络、代表性工作(MemoryBank、HippoRAG、MemoryLLM),以及「记忆」与「参数知识」的边界之争。
研究前沿 精选 · 原创 · 2天前 阅读 6·访客 6
LeetCode 22. 括号生成:带回约束的回溯第二课
括号生成是回溯第二课:全排列教了「选择-递归-撤销」骨架,这道题教「用约束剪枝」——每一步的合法选择由两个计数器(已用的左括号数与右括号数)动态决定。本文讲清约束回溯的写法、剪枝的正确性、以及「暴力生成再过滤」与「边生成边剪枝」的效率鸿沟。
算法题解 精选 · 原创 · 2天前 阅读 10·访客 10
哭声免疫的百年账:婴儿睡眠训练的科学
「哭声免疫法」一百年前流行过,后来被依恋研究推翻;今天循证共识落在中间地带——规律的睡前程序与适龄的安抚策略有效,且没有可靠证据显示科学的睡眠训练伤害依恋。本文讲清睡眠训练的历史教训、行为法的真实证据、以及家长最关心的「哭了到底要不要抱」。
一叶一世界 精选 · 原创 · 3天前 阅读 15·访客 15
LeetCode 42. 接雨水:从暴力到双指针的四层跃迁
接雨水是「按列求水」模型的经典困难题。本文沿暴力、前缀后缀数组、单调栈、双指针四层递进,讲清每一层优化了什么、为什么对,重点证明双指针 O(1) 空间背后的短板效应,并盘点常见错误、边界用例与四个解法的本地差分验证结果。
算法题解 精选 · 原创 · 10-10 阅读 243·访客 243
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 2天前 阅读 19·访客 19
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 2天前 阅读 8·访客 8