33. Search in Rotated Sorted Array

public class Solution {
    public int search(int[] nums, int target) {
        int start=0,end=nums.length-1;
        while(start<end){
           int mid=(end-start)/2+start;
           if(target==nums[mid]) return mid;
           if(nums[mid]>nums[end]){
               if(target<nums[mid]&&target>=nums[start]) end=mid-1;
               else start=mid+1;
           }else{
               if(target>nums[mid]&&target<=nums[end]) start=mid+1;
               else end=mid-1;
           }
        }
        return nums[start]==target?start:-1;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容