算法与 Python 知识点
刷题时在 chat 里问过的通用知识点:复杂度分析、图、树、Python 写法,每题是一个可以口头回答的概念题。
共 9 题 · 掌握 0 · 做过 0 · 没做 9。左边的小按钮依次是「没做 · / 做过 做 / 掌握 ✓」。
题单说明
从 claude.ai 上「ha hahhhh hah」项目的 chat 对话整理(2026-09-04 到 2026-10-09)。这里只放没有对应 LeetCode 题号的通用知识点,按概念题的格式写(30 秒版、展开讲解、常见追问、英文说法)。
能挂到具体 LeetCode 题上的对话内容,已经作为小节补进了那道题,不在这个题单里重复:
- Manacher 算法 → 5. Longest Palindromic Substring
- 前序 + 中序建树的 O(h) / O(1) 额外空间写法 → 105. Construct Binary Tree from Preorder and Inorder Traversal
- Find the Duplicate Number 的位运算解法和 Floyd 推导 → 287. Find the Duplicate Number
- 网格最短路为什么不能用回溯 DFS → 286. Walls and Gates
- 代码审查记录:23. Merge k Sorted Lists、295. Find Median from Data Stream、84. Largest Rectangle in Histogram、76. Minimum Window Substring
复杂度分析 0 / 3 掌握
这一类怎么练
报复杂度时先说清楚 n 是什么。分治递归用递归树逐层求和(主定理是它的速查表);回溯、记忆化递归数「状态数 × 每个状态的代价」。
图 0 / 3 掌握
这一类怎么练
最短路的选型:非负权 Dijkstra,有负权 Bellman-Ford,DAG 用拓扑序,全源看点数选 Floyd 或 Johnson。
- A Dijkstra 为什么不能有负权边
- A Dijkstra 复杂度:惰性删除
- B 负权环检测(Bellman-Ford) Medium
树 0 / 1 掌握
这一类怎么练
平衡树的口头题。和红黑树的对比见 AVL 树与红黑树的区别。
Python 0 / 2 掌握
这一类怎么练
刷题时 Python 写法和标准库的坑。heapq 的用法见 295. Find Median from Data Stream 的代码审查记录。