Archive
Archive
Browse past posts by year and month.
2025-11
- Nov 19, 2025
Demystifying Agentic Search Engines
Agentic search engines—such as Google AI Mode, Perplexity, Bing Copilot, ChatGPT Search no longer means “type keywords, get ten blue links.” AI Search experience capable of understanding tasks, planning queries, calling tools, and synthesizing results and deliver a conversational response with inline citations, minimizing user effort. In this post, I’ll walk through the stack from bottom to top, how it crawls and indexes pages, how it retrieves and ranks information, and how recent features like RAG and Agentic search build upon these foundations.
#NLP#AI#System Design#DL - Nov 18, 2025
[Leetcode 143] 重排链表
#链表#双指针 - Nov 18, 2025
[Leetcode 79] 单词搜索
word 是否存在于字母网格中
#回溯 - Nov 18, 2025
[Leetcode 84] 柱状图中最大的矩形
柱状图能够勾勒出来的矩形的最大面积。
#单调栈 - Nov 18, 2025
[Leetcode 101] 对称二叉树
#二叉树#DFS#BFS - Nov 18, 2025
[Leetcode 138] 随机链表的复制
#链表 - Nov 18, 2025
[Leetcode 126] 单词接龙 II
#BFS#DFS#回溯#图 - Nov 18, 2025
[Leetcode 160] 相交链表
#链表#双指针 - Nov 18, 2025
[Leetcode 128] 最长连续序列
#并查集#哈希 - Nov 18, 2025
[Leetcode 83] 删除排序链表中的重复元素
删除已排序的链表中所有重复的元素
#双指针#递归 - Nov 18, 2025
[Leetcode 171] Excel 列名转换为数字
#字符串 - Nov 18, 2025
[Leetcode 62] 不同路径
位于网格左上角的机器人总共有多少条不同的路径达到网格的右下角
#动态规划 - Nov 18, 2025
[Leetcode 123] 买卖股票的最佳时机 III
#动态规划 - Nov 18, 2025
[Leetcode 200] 岛屿数量
#DFS#BFS#并查集 - Nov 18, 2025
[Leetcode 116] 填充每个节点的下一个右侧节点指针
#二叉树#BFS - Nov 18, 2025
[Leetcode 92] 反转链表II
#链表 - Nov 18, 2025
[Leetcode 122] 买卖股票的最好时间 II
#动态规划#贪心 - Nov 18, 2025
[Leetcode 121] 买卖股票的最佳时机
#贪心#滑动窗口 - Nov 18, 2025
[Leetcode 105] 从前序与中序遍历序列构造二叉树
#分治#递归 - Nov 18, 2025
[Leetcode 88] 合并两个有序数组
#双指针 - Nov 9, 2025
[Leetcode 11] 盛最多水的容器
找出数组 height中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
#双指针 - Nov 5, 2025
[Leetcode 3] 无重复字符的最长子串
找出其中不含有重复字符的 最长子串的长度。
#双指针#字符串#滑动窗口 - Nov 5, 2025
[Leetcode 21] 合并两个有序链表
将两个升序链表合并为一个新的升序链表并返回
#链表 - Nov 5, 2025
[Leetcode 4] 两个排序数组的中位数
找出并返回这两个升序数组的中位数 。
#二分搜索 - Nov 5, 2025
[Leetcode 17] 电话号码的字母组合
字符串能表示的所有字母组合
#回溯#BFS#DFS - Nov 5, 2025
[Leetcode 25] K 个一组翻转链表
每 k 个节点一组进行翻转,返回修改后的链表。
#双指针#链表 - Nov 5, 2025
[Leetcode 5] 最长回文子串
找字符串 s 中最长的回文子串。
#双指针#动态规划 - Nov 5, 2025
[Leetcode 18] 四数之和
返回满足条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]]
#双指针#排序 - Nov 5, 2025
[Leetcode 34] 在排序数组中查找元素的第一个和最后一个位置
找出给定目标值在排序数组中的开始位置和结束位置。
#二分搜索#BinarySearch - Nov 5, 2025
[Leetcode 23] 合并 K 个升序链表
将所有升序链表合并到一个升序链表中
#链表#分治 - Nov 5, 2025
[Leetcode 32] 最长有效括号
找出最长有效(格式正确且连续)括号子串的长度
#字符串 - Nov 5, 2025
[Leetcode 19] 删除链表的倒数第 N 个节点
删除链表的倒数第 n 个节点
#双指针#链表 - Nov 5, 2025
[Leetcode 14] 最长公共前缀
查找字符串数组中的最长公共前缀。
#字符串 - Nov 5, 2025
[Leetcode 20] 有效的括号
判断括号字符串是否有效。
#字符串#栈 - Nov 5, 2025
[Leetcode 44] 通配符匹配
匹配字符串 (s) 和字符模式 (p), 支持 '?' 和 '*'
#字符串#动态规划#双指针#贪心 - Nov 5, 2025
[Leetcode 42] 接雨水
n 个柱子,下雨之后能接多少雨水。
#双指针#动态规划#单调栈 - Nov 1, 2025
Modern Recommendation System Infrastructure
Building Modern Recommendation Systems introduces a comprehensive, end-to-end pipeline that drives intelligent recommendations. The post walks through the full machine learning workflow — from raw data preparation and feature engineering to model training, deployment, real-time inference, and system monitoring.
#System Design#RecSys#Recommendation#ML system
2025-10
- Oct 30, 2025
[Leetcode 46] 全排列
给定一个不含重复数字的数组 nums,返回其所有可能的全排列 。
#回溯 - Oct 30, 2025
[Leetcode 124] 二叉树中的最大路径和
#二叉树#DFS - Oct 30, 2025
[Leetcode 236] 二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
#二叉树#DFS#BFS - Oct 30, 2025
[Leetcode 206] 反转链表
#链表#双指针#递归 - Oct 30, 2025
[Leetcode 204] 质数计数
给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。
#数学#数组 - Oct 30, 2025
[Leetcode 179] 最大数
#字符串#排序#贪心 - Oct 30, 2025
[Leetcode 239] 滑动窗口最大值
大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧,返回 滑动窗口中的最大值 。
#滑动窗口#堆#单调队列 - Oct 30, 2025
[Leetcode 208] 实现 Trie
实现 Trie 类:初始化、插入字符串 、检索、前缀检索
#设计#数据结构#Tries#哈希 - Oct 30, 2025
[Leetcode 146] LRU 缓存
#哈希#链表#数据结构#设计 - Oct 30, 2025
[Leetcode 240] 搜索二维矩阵 II
搜索 m x n 的排序矩阵中的一个目标值 target 。
#搜索#矩阵#二分搜索 - Oct 30, 2025
[Leetcode148] 链表排序
给出链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。
#链表#排序#分治 - Oct 24, 2025
Design a Modern Recommendation System
This post explores the full RecSys architecture, emphasizing the core models that drive each stage of the RecSys pipeline — from Retrieval for large-scale candidate generation, to Pre-ranking for efficient filtering, Ranking for fine-grained relevance modeling, and Re-ranking for balancing diversity and control.
#System Design#RecSys#Recommendation#ML system
2025-08
2025-07
2025-06
2025-01
2024-11
- Nov 29, 2024
机器学习模型:从传统算法到生成式AI
#ML#AI - Nov 26, 2024
Understanding Recursion: Functions That Call Themselves
Recursion is a core computational concept where a problem is solved by calling itself on smaller instances. Recursion is key to many algorithms: DFS (Depth-First Search) is often implemented recursively, Dynamic Programming is fundamentally recursion with caching (memoization), and Divide & Conquer uses recursion to split problems into independent subproblems.
#Recursion#DFS#Dynamic Programming#Divide & Conquer - Nov 19, 2024
ML 模型生产全流程
#ML#AI#MLops - Nov 3, 2024
Shrinking the Search Space with Binary Search
Binary search is an efficient searching technique based on the divide-and-conquer principle. By repeatedly narrowing the search space, it guarantees a worst-case time complexity of O(log n). It is well-suited for sorted data, monotonic arrays, and optimization problems where the goal is to find the best value. Common use cases include exact matching, boundary and insertion point searches, finding the closest element, and performing binary search on the answer space.
#BinarySearch
2024-10
- Oct 23, 2024
Solving Problems with the Two-Pointers Technique
The two-pointer technique is essential for optimizing operations on arrays, strings, and lists, often reducing time complexity from O(n²) to O(n). Common patterns include opposing pointers, sliding windows, fast–slow pointers, and dual-input pointers—each suited to different problem types such as finding pairs, subarrays, or merging sorted lists.
#TwoPointers - Oct 21, 2024
NLP技术与应用:从语言理解到智能生成
#NLP#AI - Oct 8, 2024
模型训练的方法与实践
#DL#ML
2024-09
- Sep 27, 2024
Topological Sorting Explained: Sorting Dependency Chains
#Topological Sort#Graph - Sep 18, 2024
Implementing Efficient Prefix Search with Tries
Prefix search is a fundamental operation in computer science, typically implemented using a Trie (prefix tree). A Trie is a dynamic data structure for storing a collection of strings, supporting efficient insertion, lookup, and enumeration operations. Tries and their variants provide a powerful and efficient way to manage and query large volumes of string data.
#数据结构#Tree#Recursion#Tries - Sep 4, 2024
Depth-First Search: Exploring Deep Before Wide
#DFS#Tree#BinaryTree#Graph