二分查找

发布时间 2023-11-28 16:21:42作者: lwj1239

二分查找

二分查找,一般是在一个有序的数组上的,但不一定要在一个有序的数组上,(比如寻找峰值问题),总之只要可以确定答案在某一边,就可以使用二分查找。

寻找峰值

力扣题目链接

解题思路

  1. 如果数组的大小是1,根据题目的要求,它一定就是峰值,直接返回
  2. 判断下标0和下标n - 1是不是峰值,如果是直接返回它们的下标
  3. 然后我们就可以二分了

现在我们来证明一下,为什么一定存在峰值,并且可以二分

 

所以不一定要在有序的数组上才能二分,只要能确定答案一定在某一侧,那么我们就可以去二分。二分搜索的时间复杂度是O(logN)。