LeetCode33.搜索旋转排序数组

题目来源:

https://leetcode-cn.com/problems/search-in-rotated-sorted-array/

题目描述:

LeetCode33.搜索旋转排序数组

代码如下:

class Solution {
    public int search(int[] nums, int target) {
        int left = 0;
        int right = nums.length - 1;
        while (left <= right) {
            int mid = (right + left) >> 1;
            if(target == nums[mid])
                return mid; 
            if(nums[left] <= nums[mid]){
                // left part is sorted 
                if (target >= nums[left] && target < nums[mid]){
                    right = mid - 1; 
                } else{
                    left = mid + 1;
                }
            } else {
                // right part is sorted
                if (target > nums[mid] && target <= nums[right]){
                    left = mid + 1;
                } else{
                    right = mid - 1; 
                }
            }
        }
        return -1;
    }
}