二分法的三层境界

notion imagenotion image
倍增的思想:在大容量数组中查找,因为不知道数组长度,所以需要倍增的思想来试所找数字的范围
notion imagenotion image
在排序数组中找最近的K个数字
  • 找小于等于target的做左边的数字,然后以此为中心开始扩散
  • 二分法的常见题型,找某个数、找大于/小于 等于某个数的边界,然后根据边界在做操作
notion imagenotion image
notion imagenotion image
山脉序列的最大值
山脉序列是指先递增后递减的序列。
按照特征的二分,就是说没有明确的target让你查找,(二分的思路是减治,就是说每一次访问都可以使得搜索空间减半)但是数组或者别的序列,前后两段有明确的区别特征,然后根据区别特征来判断所要找的东西是在前半段还是后半段 。突破点就是找左右两端的区别特征
寻找旋转排序数字的最小值
左右两端的区别特征在于 nums[mid] nums[end]的大小关系
notion imagenotion image
搜索旋转排序数组
  • 第一步找最小值
  • 第二步 根据最小点判断 terget是在那一半,然后再用一次二分法
 
一次二分法
notion imagenotion image
先确定mid 在左半段还是右半段, 然后每次在分两种情况讨论
一种情况是旋转数组子问题,另外一种情况是一个递增的情况
第四重境界
木材加工
notion imagenotion image
珂珂吃香蕉