function minNumberInRotateArray(rotateArray, len = rotateArray.length)
{
    const minIdx = binary(rotateArray,0,len - 1);
    return rotateArray[minIdx]
}
function binary(arr,left,right){
    const mid = Math.floor((left+right)/2);
    console.log('mid',left,right,mid,arr[mid])
    if(left === right){
        return mid;
    }
//   末尾的旋转数组内部的值小于原数组的值
    if(arr[mid] > arr[right]){
        //        如果mid大于right边界则交界处在右边
//         升区间+1,逐渐逼近降区间
        left = mid + 1;
    }else if(arr[mid] < arr[right]){
//        如果mid小于left则交界处在左边 
//       降区间有可能是峰值,但是不一定,要看看和left相等不
        right = mid;
//         要考虑等于的情况若是区间中点值等于区间右界值,则是不容易分辨最小数字在哪半个区间,比如[1,1,1,0,1],应该逐个缩减右界;
    }else if(arr[mid] === arr[right]){
        right --;
    }
    return binary(arr,left,right)
}
module.exports = {
    minNumberInRotateArray : minNumberInRotateArray
};