11-旋转数组的最小数子
第一种做法,直接遍历过去,如果发现哪个元素比它的下一个元素大,那么下一个元素就是这个最小数字了。不过时间复杂度n
这里要用到的是logn的二分查找法来找到这个最小的元素,其实这道题比以前LeetCode那道简单很多,因为那道题并不是从开始旋转的,而是从某一处旋转,所以更难,这里就好办了,只需要判断mid和rihgt的大小,如果下标为mid的值大于right,说明不是翻转的地方,更新left为mid+1,如果想等的话,我们至少能够判断right的那个绝对不是旋转的最小数字,如果小于的话,说明后面有序,则目标值一定在mid前面或者就是mid
代码如下: