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 { public int findMin(int[] num) { int low = 0 ; int high = num.length -1 ; int mid = 0; int min = num[0]; while(low <= high){ mid = (low + high)/2; if(num[mid] < num[high]) { high = mid; } else { low = mid + 1; } } return Math.min(min,num[mid]); } }