提示:
n == nums.length1 <= n <= 5000-5000 <= nums[i] <= 5000nums中的所有整数 互不相同nums原来是一个升序排序的数组,并进行了1至n次旋转
func findMin(nums []int) int {
}func findMin(nums []int) int {
ans := nums[0]
for i := 1; i < len(nums); i++ {
ans = min(ans, nums[i])
}
return ans
}func findMin(nums []int) int {
// 二分查找 红蓝染色法
n := len(nums)
left, right := 0, n-1
for left < right {
mid := left + (right-left)/2
if nums[mid] < nums[right] {
// 染蓝
right = mid
} else {
// 染红
left = mid + 1
}
}
return nums[right]
}
loommii