Leetcode笔记----81.搜索旋转排序数组Ⅱ

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。

编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。

虽然是旋转过的,但该数组仍然是由两个有序数组组成的,因此还是可以使用二分法,只不过二分法要判断在哪个区间内使用。通过观察我得到的规律是,以旋转点为界,两边是两个不同的有序数组,然后判断目标值与第二个数组末尾值的大小,来选择在哪个区间上二分查找。

class Solution {
   
    boolean binarysearch(int []nums,int left,int right,int target){
   
        boolean flag = false;
        while(left<=right){
   
           int mid = (lef

你可能感兴趣的:(题目记录,leetcode)