/**
* @param {number[]} nums
* @return {number}
*/
// 采用左闭右开区间,
//当nums[mid] < nums[right], 此时nums[mid]可能是最小值,只能right= mid(防止最小值被抛弃)
//当nums[mid] > nums[left], 此时nums[mid]不可能是最小值,可使left = mid + 1
var findMin = function(nums) {
let left = 0
let right = nums.length -1
while(left < right){
let mid = left + Math.floor((right - left)/2)
if(nums[mid] < nums[right]){
right = mid
}else{
left = mid + 1
}
}
// right == left
return nums[left]
};