1. var minArray = function(numbers) {
    2. let low = 0
    3. let high = numbers.length-1
    4. while(low<high){
    5. let mid = low + Math.floor((high - low)/2)
    6. if(numbers[mid]<numbers[high]){ //中间哨兵和最后一位比较
    7. high = mid //中间更小,故更新高位索引
    8. }else if(numbers[mid]>numbers[high]){
    9. low = mid +1 //高位更小,故更新低位索引,且mid这个值已知是大值不必再次加入序列
    10. }else{
    11. high-- //中间为和高位一样大,故高位向中位靠齐
    12. }
    13. }
    14. return numbers[low]
    15. }