package main

/**
 * 
 * @param rotateArray int整型一维数组 
 * @return int整型
*/
func minNumberInRotateArray( rotateArray []int ) int {
    nums := rotateArray
	if len(nums) == 0 {
		return -1
	}
	if len(nums) == 1 {
		return nums[0]
	}
	left := 0
	right := len(nums) - 1
	for left < right {
		mid := left + (right-left)/2
		//中间数大于右边数,最小值在右边
		if nums[mid] > nums[right] {
			left = mid + 1
		} else if nums[mid] < nums[right] {
			//中间数小于右边数,最小值在左边
			right = mid
		} else {
			//相等时,缩减范围
			right--
		}
	}
	return nums[left]
}