九章算法 第二节 二分查找 Binary Search

1.二分法题目及思路

题目:给定一个排好序的证书数组nums,和一个整数target,寻找target在nums中任何一个/第一次出现/最后一次出现的位置,不存在return-1。

思路:基本上看到时间复杂度要求O(logN)基本就是要用二分法,二分法的本质是保留有解的一半。

2.时间复杂度

T(n)=T(N/2)+O(1)=O(logN)

3.通用的二分法模板(四个要素)

①start+1<end

②start+(end-start)/2

③A[mid]==,<,>

④A[start] A[end] ? target 

4.题目类型

二分位置:一般会给你一个数组,让你找数组中第一个/最后一个满足某个条件的位置 

二分答案:

5.相关题目

Sqrt(x) :last number that number^2<=x

Search a 2D Matrix :last row that matrix[row][0]<=target

search insert position :first positon>=target  OR  (last position<target)+1

count of smaller number

search for a range/number of target

search in a big/infinite sorted array

first bad version  :first version that is bad version

 find minimum in rotated sorted array:position<=last number

search in rotated sorted array

find peak element

recover rotated sorted array

rotate string

《九章算法 第二节 二分查找 Binary Search》《九章算法 第二节 二分查找 Binary Search》

《九章算法 第二节 二分查找 Binary Search》

    原文作者:查找算法
    原文地址: https://blog.csdn.net/ABUIUJHJG123456789/article/details/78554063
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞