package problems.medium; /** * Created by sherxon on 2016-12-30. */ public class FindMinimuminRotatedSortedArray { public static void main(String[] args) { System.out.println(new FindMinimuminRotatedSortedArray().findMin( //new int[]{6,7,1,2,3,4,5} new int[]{4 ,5 ,6 ,7 ,0, 1, 2} //new int[]{3,4,5,6,7,1,2} )); } public int findMin(int[] a) { int i=0; int j=a.length-1; while (i<=j){ int mid=i+(j-i)/2; if(i==mid || j==mid)return Math.min(a[i], Math.min(a[j], a[mid])); if(a[mid]>a[j])i=mid; else if(a[mid]