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