数据结构与算法篇
L1 初级
| 频率 | 题目 |
|---|---|
| 高 | 算法复杂度分析与 Big-O 表示法 |
| 高 | 常见数据结构基础操作的时间复杂度是多少? |
| 高 | 双指针的两种形式:对撞指针与快慢指针 |
| 高 | 原地移除数组中的指定元素(快慢指针) |
| 高 | 固定大小滑动窗口求子数组最大和 |
| 中 | 双指针判断回文字符串 |
L2 中级
| 频率 | 题目 |
|---|---|
| 高 | 链表翻转与 Floyd 环检测 |
| 高 | 如何合并两条有序链表? |
| 高 | 如何用一次遍历删除链表倒数第 N 个节点? |
| 高 | 递归三要素是什么?如何分析递归的时间复杂度? |
| 高 | 快速排序与归并排序的原理、稳定性和复杂度如何比较? |
| 高 | 哈希冲突的解决策略有哪些?如何用哈希表实现 LRU 缓存? |
L3 高级
| 频率 | 题目 |
|---|---|
| 中 | 二分查找的统一模板:搜索边界与答案二分 |
| 高 | 0/1 背包的状态转移方程如何建立?滚动数组如何优化空间? |
| 高 | 如何用动态规划求最长公共子序列并还原具体路径? |
| 中 | 最长递增子序列(LIS)的 O(n²) 与 O(n log n) 算法有何区别? |
| 中 | 记忆化搜索(自顶向下)与自底向上 DP 在实现和性能上有何区别? |