题单介绍
二分 用于有序查找,或「答案具有单调性」时二分答案再检验。
学习目标
- 会写二分查找的左右边界
- 能把最优化问题转成 check(mid) 的判定
- check 函数要正确:满足则缩小哪一侧
- 注意死循环:mid 取 (l+r)/2 时更新 l=mid+1 或 r=mid
- 题解只给思路与步骤,请自己实现代码
阶段安排(共 18 题)
1. 二分查找(12 题)
在有序数组中找值或位置。
2. 二分答案(6 题)
最小最大、最大最小类问题。
使用建议
01
二分查找
入门
--
练习
02
二分查找左侧边界
入门
--
练习
03
二分查找右侧边界
入门
--
练习
04
二分查找满足条件的数
入门
--
练习
05
起止位置
入门
--
练习
06
同时出现的数
基础
--
练习
07
最满意的方案
基础
--
练习
08
小X算排名
提高
--
练习
09
最长上升子序列LIS(2)
提高
--
练习
10
最长公共子序列(LCS)(1)
基础
--
练习
11
最长公共子序列(LCS)(2)
提高
--
练习
12
最少的修改次数
提高
--
练习
13
伐木工
基础
--
练习
14
跳石头
提高
--
练习
15
买木头
提高
--
练习
16
愤怒的奶牛
基础
--
练习
17
最小的空旷指数
基础
--
练习
18
防御迷阵
提高
--
练习