LeetCode #153 Find Minimum in Rotated Sorted Array
Problem
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.
You may assume no duplicate exists in the array.
Example 1:
Input: [3,4,5,1,2]
Output: 1
Example 2:
Input: [4,5,6,7,0,1,2]
Output: 0
Solution
Compare the leftist element with middle in binary search so we can make decision which direction should go. It’s noted that we should preserve middle in next comparison so it’s still remain unordered.
Complexity
It takes O(logn) time by adopting binary search with only O(1) extra space, where n
denotes to counts of numbers in the given list.