不再盲目刷题。按考点逐个击破——每个专题都配知识点讲解 + 核心套路 + 由易到难的精选题单, 跟着练,把每类题的解法刷成肌肉记忆。
用 O(1) 的查找把「是否出现过 / 出现几次 / 配对」类问题从暴力 O(n²) 降到 O(n),是刷题最高频的工具。
进入专题 →用两个下标在有序数组 / 链表上相向或同向移动,省去一层循环。常用于求和、去重、判回文、链表快慢指针。
进入专题 →维护一个「合法区间」随右端扩张、左端收缩,求最长 / 最短 / 定长子串子数组。双指针的进阶套路。
进入专题 →预处理前缀和后,任意区间和都能 O(1) 求出;差分则把「区间整体加减」变成端点操作。
进入专题 →在「单调」的答案空间里每次砍掉一半。不止用于查值,更常用于「二分答案」——把求最优转成判定可行。
进入专题 →排序本身是基础,但「排完序之后」常常让贪心、双指针、去重变得显然。重点是想清楚按什么排。
进入专题 →解析、匹配、模拟类题目的高频载体。重点是把题意拆成清晰的边界与状态。
进入专题 →gcd / 质数 / 快速幂 / 组合数等基础数论与技巧,常以「看穿规律」的形式出现在笔试里。
进入专题 →用二进制位直接操作,常用于状态压缩、集合表示,以及一些「异或消消乐」式的巧解。
进入专题 →后进先出。用于括号匹配、表达式求值、撤销类问题,以及把「就近的配对」关系顺手记下来。
进入专题 →维护一个单调递增 / 递减的栈,O(n) 求出每个元素「下一个更大 / 更小」的位置。柱状图、温度、接雨水的核心。
进入专题 →先进先出。BFS 的载体;单调队列则能 O(n) 求滑动窗口最大值。
进入专题 →每次 O(log n) 取出最大 / 最小。Top-K、第 K 大、合并多个有序序列、Dijkstra 都靠它。
进入专题 →近 O(1) 地合并集合、判断两点是否连通。处理「连通块 / 朋友圈 / 是否成环」类问题的利器。
进入专题 →