跟着LeetCode的Study Plan重温一遍各种经典算法,本期是二分搜索算法Level1 Day12。
题目构成:Medium*1
。
与33. Search in Rotated Sorted Array类似,33
题是找目标值,这道题是找最小值。代码(Golang)如下:
func findMin(nums []int) int {
i, j := 0, len(nums) - 1
for i <= j {
m := (i+j)/2
v := nums[m]
if v == nums[i] {
if nums[i] > nums[j] {
return nums[j]
}
return nums[i]
}
if v > nums[j] {
i = m + 1
} else {
j = m
}
}
return -1
}