package com.interview.binarysearch;
/**
* Created by tushar_v_roy on 3/21/16.
*/
public class MinimumInSortedRotatedArray {
public int findMin(int[] nums) {
int low = 0;
int high = nums.length - 1;
while (low < high) {
int middle = (low + high)/2;
if ((middle == 0 || nums[middle] < nums[middle - 1]) && (middle == nums.length - 1 || nums[middle] < nums[middle + 1])) {
return nums[middle];
}
else if (nums[middle] > nums[high]) {
low = middle + 1;
} else {
high = middle - 1;
}
}
return nums[low];
}
}