首页 > 代码库 > Find Minimum in Rotated Sorted Array

Find Minimum in Rotated Sorted Array

Suppose a sorted array is rotated at some pivot unknown to you beforehand.

(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

Find the minimum element.

You may assume no duplicate exists in the array.

答案

public class Solution {
    int []num;
    public int findMin(int start,int end)
    {
        if(num[start]<=num[end])
        {
            return num[start];
        }
        int middle=start+((end-start)>>1);
        if(num[middle]>num[end])
        {
            return findMin(middle+1,end);
        }
        return findMin(start,middle);
    }
    public int findMin(int[] num) {
        this.num=num;
        return findMin(0,num.length-1);
    }
}


Find Minimum in Rotated Sorted Array