Quant Research / Quant Dev 面试常考算法题 · ★ 为最高频必刷
每道题包含:题目描述 · 解题思路 · 答案代码 · 扩展总结
📋 分类导航
分类 | 题数 | 特点 |
01 数组 / 双指针 / 滑动窗口 | 7 | 必须无脑AC |
02 动态规划 (DP) | 9 | QR面试最爱 |
03 数学 / 概率 / 位运算 | 8 | QR特色高频 |
04 树 / 图 / BFS & DFS | 7 | 数据结构基础 |
05 堆 / 优先队列 / 系统设计 | 7 | 数据流处理 |
06 字符串 / 回溯 / 排列组合 | 5 | 暴力枚举基本功 |
07 二分搜索 | 4 | 对数复杂度敏感 |
🗂️ 每题页面结构模板
每道题的 Notion 子页面包含以下固定结构:
- 题目信息:编号、难度、标签、LeetCode 链接
- 题目描述:题意 + 示例
- 解题思路:核心思路与算法分析
- 答案代码:Python / Java 实现
- 扩展总结:变体、相关题目、面试注意点
01 数组 / 双指针 / 滑动窗口
# | 题目 | 难度 | 考察点 |
1 | Two Sum ★ | Medium | HashMap O(n) |
15 | 3Sum ★ | Medium | 排序+双指针,去重逻辑 |
42 | Trapping Rain Water ★ | Hard | 双指针/单调栈 |
53 | Maximum Subarray ★ | Medium | Kadane算法 |
121 | Best Time to Buy and Sell Stock ★ | Easy | 还要会123/188 |
123 | Best Time to Buy/Sell Stock III | Hard | 状态机DP,最多2笔 |
76 | Minimum Window Substring | Hard | 滑窗模板题 |
560 | Subarray Sum Equals K ★ | Medium | 前缀和+HashMap |
239 | Sliding Window Maximum | Hard | 单调双端队列 |
238 | Product of Array Except Self | Medium | 前后缀积,不用除法 |
02 动态规划 (DP)
# | 题目 | 难度 | 考察点 |
70 | Climbing Stairs ★ | Easy | Fibonacci变体 |
322 | Coin Change ★ | Medium | 完全背包 |
300 | Longest Increasing Subsequence ★ | Medium | O(nlogn)二分优化 |
72 | Edit Distance | Medium | 字符串DP |
312 | Burst Balloons | Hard | 区间DP |
10 | Regular Expression Matching | Hard | 高频难题 |
174 | Dungeon Game | Hard | 反向DP |
188 | Best Time to Buy/Sell Stock IV ★ | Hard | 状态机DP,最多k笔 |
152 | Maximum Product Subarray | Medium | 维护最大最小值 |
03 数学 / 概率 / 位运算
# | 题目 | 难度 | 考察点 |
470 | Implement Rand10 Using Rand7 ★ | Medium | 拒绝采样 |
398 | Random Pick Index ★ | Medium | 水库抽样 |
382 | Linked List Random Node | Medium | 水库抽样变体 |
50 | Pow(x, n) ★ | Medium | 快速幂 |
149 | Max Points on a Line | Hard | 斜率精度处理 |
191 | Number of 1 Bits | Easy | 位运算基础 |
136 | Single Number | Easy | XOR技巧 |
268 | Missing Number | Easy | 多种解法 |
04 树 / 图 / BFS & DFS
# | 题目 | 难度 | 考察点 |
200 | Number of Islands ★ | Medium | BFS/DFS/Union Find |
207 | Course Schedule ★ | Medium | 拓扑排序,检测环 |
124 | Binary Tree Maximum Path Sum | Hard | 后序遍历 |
236 | Lowest Common Ancestor | Medium | 经典递归 |
297 | Serialize and Deserialize Binary Tree | Hard | BFS序列化 |
127 | Word Ladder | Hard | 最短路径BFS |
399 | Evaluate Division | Medium | 带权Union Find |
05 堆 / 优先队列 / 系统设计
# | 题目 | 难度 | 考察点 |
295 | Find Median from Data Stream ★ | Hard | 双堆 |
23 | Merge k Sorted Lists ★ | Hard | 优先队列 |
218 | The Skyline Problem | Hard | 扫描线+堆 |
146 | LRU Cache ★ | Medium | HashMap+双向链表 |
460 | LFU Cache | Hard | LRU进阶 |
347 | Top K Frequent Elements ★ | Medium | 桶排序/堆 |
373 | Find K Pairs with Smallest Sums | Medium | 多路归并 |
06 字符串 / 回溯 / 排列组合
# | 题目 | 难度 | 考察点 |
46 | Permutations ★ | Medium | 全排列模板 |
78 | Subsets | Medium | 子集枚举 |
22 | Generate Parentheses ★ | Medium | 括号合法性 |
5 | Longest Palindromic Substring | Medium | 中心扩展/Manacher |
438 | Find All Anagrams in a String | Medium | 滑窗+频率表 |
07 二分搜索
# | 题目 | 难度 | 考察点 |
33 | Search in Rotated Sorted Array ★ | Medium | 变体很多 |
4 | Median of Two Sorted Arrays ★ | Hard | O(log(m+n)) |
378 | Kth Smallest in a Sorted Matrix | Medium | 值域二分 |
410 | Split Array Largest Sum | Hard | 最小化最大值,二分答案 |