二分与双指针入门题单

围绕单调性、左右指针、滑动窗口、前缀和与差分,训练把线性枚举优化为线性或对数复杂度。

0 / 0 已完成

二分与双指针入门题单

二分的核心不是“写一个 while”,而是找到答案或判定条件的单调性;双指针的核心也不是两个变量,而是确认指针为什么不会回退。

一、二分查找基础

先区分“找任意满足位置”和“找第一个满足位置”,并统一处理不存在、重复值和边界答案。

二、二分答案

答案越大(或越小)越容易满足时,可以二分答案,并把所有复杂度集中到 check 函数中。

三、双指针与滑动窗口

排序后左右夹逼、或维护一个满足条件的连续窗口,是双指针最常见的两种形态。要写出窗口右端增加后左端为什么只需右移。

四、前缀和、差分与离散化配套

这些技巧经常和二分、双指针一起出现:先把区间信息压缩成前缀量,再用一次扫描或判定完成优化。

复盘要求

text
判定条件是什么:
它为什么具有单调性:
双指针移动后,哪些状态不可能再回到答案:
前缀量或差分量分别表示什么: