@@ -0,0 +1,965 @@
+public class Solution %7B%0A    public int search(int%5B%5D nums, int target) %7B%0A        if(nums.length == 1) return nums%5B0%5D == target ? 0 : -1;%0A        int left = -1;%0A        int right = -1;%0A        for(int i=0; i+1%3Cnums.length; i++) %7B%0A            if(nums%5Bi%5D %3E nums%5Bi+1%5D) %7B%0A                left = bsearch(nums, target, 0, i);%0A                right = bsearch(nums, target, i+1, nums.length-1);%0A                if(left == -1 && right == -1) return -1;%0A                else if(left == -1) return right;%0A                else if(right == -1) return left;%0A                return -1;%0A            %7D%0A        %7D%0A        return bsearch(nums, target, 0, nums.length-1);%0A    %7D%0A    %0A    private int bsearch(int%5B%5D n, int target, int left, int right) %7B%0A        while(left %3C= right) %7B%0A            int mid = (left + right) / 2;%0A            if(n%5Bmid%5D == target) return mid;%0A            if(n%5Bmid%5D %3C target) left = mid + 1;%0A            else right = mid - 1;%0A        %7D%0A        return -1;%0A    %7D%0A%7D%0A

Create Search_in_Rotated_Sorted_Array.java