LeetCode第33题:Search in Rotated Sorted Array在旋转有序数组中搜索(Java实现)

题目:

LeetCode第33题:Search in Rotated Sorted Array在旋转有序数组中搜索(Java实现)_第1张图片

我的解答:

class Solution {
    //二分法的算法复杂度为O(lgn),即分治算法!
    public int search(int[] nums, int target) {
        int left=0;
        int right=nums.length-1;
        while(left<=right){
            int mid=left+(right-left)/2;
            if(nums[mid]==target){
                return mid;
            }else if(nums[mid]=nums[right]则说明左边的排序是有序的,没有出现扰乱点
                if(nums[mid]>target&&nums[left]<=target){
                    right=mid-1;
                }else{
                    left=mid+1;
                }
            }
        }
        return -1;
    }
}

运行结果:

LeetCode第33题:Search in Rotated Sorted Array在旋转有序数组中搜索(Java实现)_第2张图片

 

你可能感兴趣的:(LeetCode习题集,LeetCode习题集)