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
Design a Modern Recommendation System
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 179] 最大数
#字符串#排序#贪心 - Oct 30, 2025
[Leetcode 146] LRU 缓存
#哈希#链表#设计 - Oct 24, 2025
Modeling for Modern Recommendation Systems
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#Prefix - Sep 4, 2024
Depth-First Search: Exploring Deep Before Wide
#DFS#Tree#BinaryTree#Graph