Leetcode 33. Search in Rotated Sorted Array

来源:互联网 发布:淘宝如何添加全屏代码 编辑:程序博客网 时间:2024/06/07 13:27
public class Solution {    // find the index of the minimum    public int searchMin (int[] nums) {        int low = 0, high = nums.length-1, mid = 0;        while (low < high) {            mid = (low+high)/2;            if (nums[mid] > nums[high]) low = mid + 1;            else high = mid;        }        return low;    }        // binary search for sorted array    public int binarySearch (int[] nums, int low, int high, int target) {        int mid = 0;        while (low < high) {            mid = (low+high)/2;            if (nums[mid] < target) low = mid+1;            else high = mid;        }        return (nums[low] == target) ? low : -1;    }        public int search(int[] nums, int target) {        if (nums.length == 0) return -1;                int imin = 0; // index of the minimum value                imin = searchMin(nums);        if (target <= nums[nums.length-1]) return binarySearch(nums, imin, nums.length-1, target);        return binarySearch(nums, 0, imin-1, target);    }}

0 0
原创粉丝点击