Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e., [0,1,2,4,5,6,7]
might become [4,5,6,7,0,1,2]
).
Find the minimum element.
The array may contain duplicates.
Example 1:
Input: [1,3,5] Output: 1
Example 2:
Input: [2,2,2,0,1] Output: 0
Note:
这题是[LeetCode] 153. Find Minimum in Rotated Sorted Array_Medium tag: Binary Search的follow up,允许重复,但是如果重复数量太多,比如[2,2,2,2,2,2,2,0,2,2,2,2] 时间复杂度可能会上升到O(n), 而且二分法不再实用,所以直接用暴力破解就好。
Code
class Solution: def findMinRotate(self, nums): ans = nums[0] for num in nums: ans = min(ans, num) return ans
[LeetCode] 154. Find Minimum in Rotated Sorted Array II_Hard tag: not real binary search anymore
原文:https://www.cnblogs.com/Johnsonxiong/p/11168353.html