Medium

Len Chen
1 min readOct 10, 2018

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.

--

--

Len Chen
Len Chen

Responses (1)