Find Minimum In Rotated Sorted Array
寻找旋转排序数组中的最小值
题目描述
将升序排列的有序数组,在某个点上进行旋转。找出旋转后数组中的最小元素。
示例:
输入:nums = [3, 4, 5, 1, 2]
输出:1
解法
解法一:二分法
时间复杂度:
O(logn)
空间复杂度:
O(1)
func findMin(nums []int) int {
left, right := 0, len(nums)-1
for left < right {
mid := left + (right-left)/2
if nums[mid] < nums[right] {
right = mid
} else {
left = mid + 1
}
}
return nums[left]
}
Last updated
Was this helpful?