搜索:雪花算法

共命中 50 条(服务端检索)
一篇读懂分布式 ID:UUID、雪花算法与号段模式
微服务与分库分表时代,数据库自增 ID 不再够用——需要一个跨服务、跨数据库的全局唯一 ID。UUID、雪花算法、号段模式是三种主流方案:各自在唯一性、有序性、性能上做出不同的取舍。本文讲清三种方案的实现与选型。
后端技术 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 46. 全排列:回溯算法的第一课
全排列是回溯算法的第一课:「选择→递归→撤销」的三步循环,是所有回溯题(子集、组合、N 皇后、数独)的共同骨架。本文讲清回溯的状态管理(used 数组与路径)、为什么这题不需要「去重剪枝」、以及从全排列到子集——两种遍历决策树的差异。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 169. 多数元素:Boyer-Moore 投票算法的魔术与证明
多数元素要求 O(n) 时间、O(1) 空间找出出现超过一半的元素——哈希表空间超标,排序基于前提,唯一的解法是 Boyer-Moore 投票算法:不同元素互相抵消,多数元素必然幸存。本文讲清这个「魔术」的直觉、两行代码的正确性证明、以及它的推广与失效边界。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 46. 全排列:回溯算法的第一课
全排列是回溯算法的第一课:「选择→递归→撤销」的三步循环,是所有回溯题(子集、组合、N 皇后、数独)的共同骨架。本文讲清回溯的状态管理(used 数组与路径)、为什么这题不需要「去重剪枝」、以及从全排列到子集——两种遍历决策树的差异。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 169. 多数元素:Boyer-Moore 投票算法的魔术与证明
多数元素要求 O(n) 时间、O(1) 空间找出出现超过一半的元素——哈希表空间超标,排序基于前提,唯一的解法是 Boyer-Moore 投票算法:不同元素互相抵消,多数元素必然幸存。本文讲清这个「魔术」的直觉、两行代码的正确性证明、以及它的推广与失效边界。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
一篇读懂限流算法:从固定窗口到令牌桶
固定窗口、滑动窗口、漏桶、令牌桶四种限流算法逐个拆解:各自怎么工作、临界突刺藏在哪、适合什么场景。附固定窗口与令牌桶的可运行 TypeScript 实现,最后给一张选型表,并交代 Redis + Lua 的分布式落地现实。
一叶一世界 精选 · 原创 · 10-10 阅读 720·访客 718
Raft算法
Raft 论文的中文精读:从复制状态机出发理解共识
后端技术 精选 · 原创博客 · 2020-04-20 阅读 373·访客 371
AI 与农业:遥感、植保与泥土里的算法
农业是 AI 落地最「接地气」的行业:卫星与无人机遥感在数亿亩耕地上方巡天,AI 植保识别病虫害,算法在调配水肥。农业 AI 的特点与城市产业完全相反——环境不可控、数据难采集、回报周期长,但它的价值是粮食安全级的。本文讲清农业 AI 的真实落地地图与「泥土里做算法」的硬功夫。
行业动态 精选 · 原创 · 今天 阅读 1·访客 1
从 4K 到百万 token:RoPE 上下文扩展算法深度解析
现代大模型的百万上下文,几乎都建立在 2021 年的旋转位置编码与 2023 年的一系列外推算法之上。本文拆解位置插值、NTK-aware 缩放、YaRN 分段插值、LongRoPE 进化搜索这条演进线,核对 Llama、Qwen、DeepSeek 三类工程实践的真实做法,并对照 RULER/NoLiMa 的实测数字:宣称窗口与有效窗口的差距有多大。
大模型 精选 · 原创 · 10-9 阅读 245·访客 240
澳大利亚想要社媒平台允许用户退出算法驱动的信息流
在禁止儿童使用社媒平台之后,澳大利亚工党政府提出了一项新的法律草案,要求社媒平台允许用户退出算法驱动的信息流。用户可选择算法推荐的个性化内容作为默认信息流,或者拒绝接收算法推荐的内容,只浏览用户关注的朋友和创作者的内容。被称为 My Fee…
行业动态 Solidot · 9-8 阅读 35·访客 33
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 今天 阅读 3·访客 3
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 207. 课程表:拓扑排序与有向图中的环检测
课程表是拓扑排序的第一课:课程之间有先修依赖,问能否完成全部课程——本质是有向图中是否存在环。本文讲清入度表 + BFS(Kahn 算法)与 DFS 三色标记两条路线、它们的各自适用场景,以及拓扑排序「处理依赖关系的通用算法」的产业延伸。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 207. 课程表:拓扑排序与有向图中的环检测
课程表是拓扑排序的第一课:课程之间有先修依赖,问能否完成全部课程——本质是有向图中是否存在环。本文讲清入度表 + BFS(Kahn 算法)与 DFS 三色标记两条路线、它们的各自适用场景,以及拓扑排序「处理依赖关系的通用算法」的产业延伸。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
中国生成式 AI 监管地图:备案双轨、标识新规与开发者的合规清单
备案是中国生成式 AI 监管的主轴:算法备案与大模型备案双轨并行,2025 年 9 月起《人工智能生成合成内容标识办法》与强制性国标 GB 45438-2025 把显式/隐式标识义务落到像素级。本文面向开发者梳理法规层级、备案触发条件与落地清单。本文不构成法律意见。
行业动态 精选 · 原创 · 10-7 阅读 343·访客 247
IonQ:20000 物理量子比特计算机攻破比特币所用加密算法或仅需 26 天
IT之家 9 月 9 日消息,量子技术企业 IonQ 美国当地时间本月 8 日表示,一台拥有 20000 个物理量子比特的 IonQ 离子阱量子计算机 或许仅需 26 天就能攻破比特币等加密货币使用的 secp256k1 椭圆曲线数字签名加…
行业动态 IT之家 · 9-9 阅读 35·访客 34
LeetCode 53. 最大子数组和:Kadane 算法的一步之遥
LeetCode 53 的题眼在状态定义:dp[i] 写成「以 i 结尾的最大子数组和」,转移一步到位;错写成「前 i 个的最大」就寸步难行。本文从 O(n²) 暴力讲到 O(1) 的 Kadane,再到分治进阶,附全负数边界与三解法对拍。
算法题解 精选 · 原创 · 10-7 阅读 221·访客 219
Raft分布式一致性算法
Raft 的领导者选举、日志复制与安全性约束
后端技术 精选 · 原创博客 · 2020-04-14 阅读 398·访客 396
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 25. K 个一组翻转链表:指针操作的天花板
K 个一组翻转链表是链表指针操作的天花板难度:分组、翻转、再拼接,每组要管四个指针的接续。本文讲清「 dummy 节点 + 分组定位 + 组内翻转 + 前后拼接」的完整流程、每一步的指针变化,以及把这类难题做对的通用方法——画图与不变量。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
AI 音乐的版权账:训练、产出与商用,三笔账各有各的算法
AI 音乐的版权问题不是一句话能答的:训练端有 GEMA 在德国赢下 Suno 的判决,产出端美国版权局坚持「纯 AI 生成不受保护」,商用端平台条款决定了你拿到的是什么权利。本文把三笔账分开算清,给创作者一份实操清单。本文不构成法律意见。
行业动态 精选 · 原创 · 10-7 阅读 285·访客 256
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 739. 每日温度:单调栈的第二课与「等谁」的变体
每日温度是单调栈的经典第二课:等下一个更暖的日子还要等几天。它与「下一个更大元素」共享同一套单调栈骨架——栈存下标、新元素弹栈结算,变体只在「结算的内容」。本文讲清单调栈的模板化写法、四种常见变体的映射,以及单调栈适用问题的识别特征。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 739. 每日温度:单调栈的第二课与「等谁」的变体
每日温度是单调栈的经典第二课:等下一个更暖的日子还要等几天。它与「下一个更大元素」共享同一套单调栈骨架——栈存下标、新元素弹栈结算,变体只在「结算的内容」。本文讲清单调栈的模板化写法、四种常见变体的映射,以及单调栈适用问题的识别特征。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 23. 合并 K 个升序链表:堆与分治的两种解法
K 个有序链表合并成一个,朴素做法 O(N·k),堆与分治都能压到 O(N log k)——但两者的空间、常数与工程含义完全不同。本文从「K 路归并」的通用模型讲起,给出两种解法的 Python 实现(本地验证含 30000 组对拍),并把这道题放进「多路有序数据合并」的行业场景里看。
算法题解 精选 · 原创 · 10-25 阅读 56·访客 55
LeetCode 121. 买卖股票的最佳时机:一次遍历的状态维护
买卖股票的最佳时机(只能交易一次)是「状态维护」型遍历的入门:维护历史最低价,每天算「今天卖」的利润取最大。它还是股票系列六道题的状态机起点——从一次交易到两次交易到带冷冻期,状态数逐步膨胀。本文讲清它的解法、状态机视角,以及贪心与 DP 的辨析。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 121. 买卖股票的最佳时机:一次遍历的状态维护
买卖股票的最佳时机(只能交易一次)是「状态维护」型遍历的入门:维护历史最低价,每天算「今天卖」的利润取最大。它还是股票系列六道题的状态机起点——从一次交易到两次交易到带冷冻期,状态数逐步膨胀。本文讲清它的解法、状态机视角,以及贪心与 DP 的辨析。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 4. 寻找两个正序数组的中位数:一道 Hard 背后的二分思想
合并后取中位数人人会写,O(log(m+n)) 才是这道题的灵魂。本文从「中位数 = 划分点」这个视角重构问题,讲透最直观的「找第 k 小」解法,给出一份本地验证通过的 Python 实现(含 20000 组随机对拍),再对比面试官更爱的「切分线」解法,最后说清为什么这道题是二分思想的试金石。
算法题解 精选 · 原创 · 10-25 阅读 55·访客 55
LeetCode 42. 接雨水:从暴力到双指针的四层跃迁
接雨水是「按列求水」模型的经典困难题。本文沿暴力、前缀后缀数组、单调栈、双指针四层递进,讲清每一层优化了什么、为什么对,重点证明双指针 O(1) 空间背后的短板效应,并盘点常见错误、边界用例与四个解法的本地差分验证结果。
算法题解 精选 · 原创 · 10-10 阅读 238·访客 238
LeetCode 72. 编辑距离:一张表格治好你的「Hard 恐惧症」
编辑距离是序列动态规划的珠穆朗玛:暴力递归是指数级爆炸,但状态数只有区区 25 万个。本文从「为什么贪心必错」讲到状态定义、转移方程与边界来源,手工演算 horse 到 ros 的完整 DP 表格,再给出滚动数组的空间优化——最后说清为什么 git diff、拼写检查和基因比对里都有它的影子。
算法题解 精选 · 原创 · 10-8 阅读 295·访客 295
量子计算走上桌面!“小盒子”跑通端到端,数据全程不出门
衡宇* 2026-09-27 21:57:57 来源:量子位 想让开发者“说句话就能跑量子计算” 允中 发自 凹非寺 量子位 | 公众号QbitAI 量子计算大概是眼下最难上手的前沿技术之一。 想跑通一个量子算法,你得先懂量子线路,会写专…
行业动态 量子位 · 9-27 阅读 49·访客 49
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 22. 括号生成:带回约束的回溯第二课
括号生成是回溯第二课:全排列教了「选择-递归-撤销」骨架,这道题教「用约束剪枝」——每一步的合法选择由两个计数器(已用的左括号数与右括号数)动态决定。本文讲清约束回溯的写法、剪枝的正确性、以及「暴力生成再过滤」与「边生成边剪枝」的效率鸿沟。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 32. 最长有效括号:栈、DP 与一次遍历的三种思路
最长有效括号是括号匹配的进阶版:不是判断合法,而是找出最长的合法连续子串。三种解法各有滋味——栈解决「最近未匹配位置」、DP 定义「以 i 结尾的最长有效长度」、正向逆向两次扫描省掉所有额外空间。本文讲清三种思路的共同本质与各自的最优场景。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 51. N 皇后:回溯与剪枝的巅峰示范
N 皇后是回溯与剪枝的巅峰示范:n×n 棋盘放 n 个皇后,任意两个不能同行同列同对角线。它的价值不在答案(解的数量没有闭式公式),而在「约束检查怎么做才快」「剪枝怎么把指数搜索树剪成可行规模」的完整示范。本文讲清位运算优化的棋盘、对角线的编码技巧与剪枝的力量。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 51. N 皇后:回溯与剪枝的巅峰示范
N 皇后是回溯与剪枝的巅峰示范:n×n 棋盘放 n 个皇后,任意两个不能同行同列同对角线。它的价值不在答案(解的数量没有闭式公式),而在「约束检查怎么做才快」「剪枝怎么把指数搜索树剪成可行规模」的完整示范。本文讲清位运算优化的棋盘、对角线的编码技巧与剪枝的力量。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 32. 最长有效括号:栈、DP 与一次遍历的三种思路
最长有效括号是括号匹配的进阶版:不是判断合法,而是找出最长的合法连续子串。三种解法各有滋味——栈解决「最近未匹配位置」、DP 定义「以 i 结尾的最长有效长度」、正向逆向两次扫描省掉所有额外空间。本文讲清三种思路的共同本质与各自的最优场景。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 22. 括号生成:带回约束的回溯第二课
括号生成是回溯第二课:全排列教了「选择-递归-撤销」骨架,这道题教「用约束剪枝」——每一步的合法选择由两个计数器(已用的左括号数与右括号数)动态决定。本文讲清约束回溯的写法、剪枝的正确性、以及「暴力生成再过滤」与「边生成边剪枝」的效率鸿沟。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
金融专题 14|量化与程序化交易:市场里的「机器人军团」
你在 K 线前犹豫时,另一批参与者每秒完成上千次决策。本文拆解量化交易从因子挖掘到执行算法的流水线,核对规模 3 万亿级的中国量化行业与 2026 年落地的三层监管(高频认定:每秒 300 笔),并复盘 2024 年 2 月那场让「同质化」三个字上教科书教科书级的流动性危机。
一叶一世界 精选 · 原创 · 10-20 阅读 114·访客 106
MLA 深度解析:DeepSeek 把 KV Cache 压掉 93% 的算法全貌
多头潜在注意力(MLA)是 DeepSeek-V2/V3 与 Kimi K2 的注意力底座:把 K/V 低秩压缩进一个 512 维潜在向量,推理时缓存量只有完整 MHA 的约 1.8%,官方口径质量反而强于 MHA。本文拆解它的低秩压缩、矩阵吸收与解耦 RoPE 三个核心设计,以及专用 Kernel、前缀缓存兼容等真实工程代价。
大模型 精选 · 原创 · 10-9 阅读 292·访客 268
LeetCode 236. 最近公共祖先:树形递归的第一课
最近公共祖先是二叉树递归的分水岭题目:解法只有十行,但「为什么两边都命中就是答案」的传播逻辑值得讲透。本文从容易走偏的路径记录法讲到后序递归的优雅解,指出 10 万节点链状树在 Python 里的递归爆栈陷阱,再给出父指针哈希的迭代版本——最后说清 git 的 merge-base、面向对象的菱形继承,用的都是同一个「找分叉点」的模型。
算法题解 精选 · 原创 · 10-8 阅读 249·访客 249
LeetCode 215. 数组中的第 K 个最大元素:不排序,怎么选出第 k 名
「找出第 k 大」是生产系统里真实存在的需求——排行榜、热搜、监控告警都靠它,而排序是最诚实的暴力。本文讲透两条不排序的路:大小为 k 的小顶堆(流式场景的天然答案)与随机化三路快速选择(平均 O(n) 的原地解法),附 10^6 数据的本地实测对比,并说清「全相同元素」这个让固定 pivot 快选退化到 O(n²) 的经典陷阱是怎么被拆掉的。
算法题解 精选 · 原创 · 10-8 阅读 243·访客 241
操作系统内功 · 第 18 篇|CPU 缓存与伪共享:缓存行、MESI 与 false sharing 的定位与消除
多核程序的性能悬崖常常不在算法而在缓存行。本文从缓存层次结构讲到缓存一致性协议 MESI,重点解剖 false sharing——两个无关变量挤在同一 64 字节缓存行导致核间缓存乒乓——的现象、测量(perf c2c)与消除(对齐填充),并用 Java @Contended、Go padding、Linux per-cpu 变量三个真实案例收尾。
后端技术 精选 · 原创 · 今天 阅读 1·访客 1
一篇读懂限流器:令牌桶、漏桶与滑动窗口的取舍
限流是每个上线系统迟早要补的一课,但「用哪个算法」绝不是背四个名词就完事——固定窗口的边界突刺、令牌桶与漏桶的镜像关系、滑动窗口对数版的内存账,每个选择背后都是真实的取舍。本文用 Redis 官方教程的五种实现为骨架,讲透算法、原子性与选型。
一叶一世界 精选 · 原创 · 10-25 阅读 83·访客 81