154. 寻找旋转排序数组中的最小值 2 leetcode 使用二分法可以减少时间复杂度。注意有重复元素,遇到重复元素则可以删除一个,至少留有一个来参与最小值比较。 1234567891011121314151617func findMin(nums []int) int { left, right := 0, len(nums) - 1 for left < right { mid := (left + right) / 2 // 重复元素则去掉最右端的那个 if nums[mid] == nums[right] { right-- }else if nums[mid] < nums[right] { right = mid } else { left = mid + 1 } } return nums[right]} 算法 > leetcode 154. 寻找旋转排序数组中的最小值 2 https://blog.jerrylee.me/2021/09/2428552c6da3.html 作者 Jerry Lee 发布于 2021年9月20日 许可协议 152.乘积最大子数组 上一篇 1584.连接所有点的最小费用 下一篇