Search in Rotated Sorted Array

	public static int search(int []nums, int target){
	       int left = 0;
	       int  right = nums.length - 1;
	        while(left <= right){
	            int mid = left + (right - left)/2; // 2
	            if(nums[mid] == target){
	                return mid;
	            }

	            if(nums[mid] > nums[left]){
	                if(nums[left] <= target &&target<= nums[mid]){
	                    right = mid - 1;
	                }
	                else{
	                    left = mid + 1;
	                }
	            }
	           else{
	                if(nums[mid] <= target &&target<= nums[right]){
	                    left = mid + 1;
	                }
	                else{
	                    right = mid - 1;
	                }
	           }
	            
	        }
	        return -1;
	}


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324964526&siteId=291194637