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.
Compare the middle value nums[mid] with the right boundary value nums[right]. If the array is not rotated or the rotation point is in the left half, the middle value must be less than the right boundary value, so go to the left half to continue searching , Otherwise, go to the right half to search, and finally return nums[right].