2019-09-26 08:29:31 -07:00

14 lines
351 B
C

int findMin(int* nums, int numsSize){
int low = 0, high = numsSize - 1;
while (low < high) {
int mid = low + (high - low) / 2;
/* minimum is on left side */
if (nums[mid] < nums[high])
high = mid;
/* minimum is on right side */
else
low = mid + 1;
}
return nums[low];
}