https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
Golang
func findMin(nums []int) int {
left := 0
right := len(nums) // [left,right)
for left <= right {
if nums[left] <= nums[right-1] { // 整段连续, 最小值一定在最左
return nums[left]
}
mid := (right + left) / 2
if nums[left] <= nums[mid-1] { // 左侧连续, 最小值一定在右侧
left = mid
continue
} else { // 左侧不连续, 最小值一定在这里
right = mid
}
}
return nums[0]
}