一、二分法查找某个数
    image.png
    第一问: 如果是从左到右遍历一遍进行查找 ,复杂度O(N),二分的复杂度是logN
    image.png
    第二问:
    image.png
    解法1: 就是找到pivot位置后判断当前值是否大于等于num,前一个位置(如果没越界的话)是否小于目标值,
    如果满足,则当前位置的数就是目标值。
    解法2(左程云的方法): 二分到某一个范围没有数字,即范围长度变成1后
    image.png
    第三问:找局部最小值,在一个无序数组中,任何相邻的数字不想等,局部最小定义为
    image.png
    求任意一个局部最小的位置;
    解法:
    image.png
    step1 :先判断两边的数字是不是小于相邻的数字,如果是的话直接返回,
    step2 ; 如果不是的话,用二分法找到中间的轴,看arr[pivot]是否满足局部最小的定义,如果满足直接返回;
    step3 : 如果pivot位置不是的话,看当前的数字是在哪个坡度上,如果是上坡,那么肯定存在一个局部最小值在arr[L … pivot]范围中,如果是下坡,那么肯定存在一个局部最小值在arr[pivot … R] 的范围中。
    tips: 二分法不是只存在于有序数组情况下,无序数组也有很多场景可以应用二分法
    左边一定有,右边肯定没有,这种排他状况如果存在,就能二分。

    二、找无序数组的前K个数字、找无需数组的第K的最小的数字
    用快速排序的方法,将数组分成作左半区 和 右半区。

    题目三:旋转数组查找
    image.png
    image.png