AlgoLounge

Find Minimum in Rotated Sorted Array

medium

Leetcode 153. Find Minimum in Rotated Sorted Array

Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2] if it was rotated 4 times.

Given the sorted and rotated array nums of unique elements, return the minimum element of the array.

You must write an algorithm that runs in O(log n) time.

Examples

Example 1

Input:  nums = [3,4,5,1,2]
Output: 1

Example 2

Input:  nums = [4,5,6,7,0,1,2]
Output: 0

Example 3

Input:  nums = [11,13,15,17]
Output: 11 (no rotation)

Constraints

  • n == nums.length
  • 1 <= n <= 5000
  • -5000 <= nums[i] <= 5000
  • All integers in nums are unique.
  • nums is sorted and rotated between 1 and n times.
TypeScript
Loading editor…
List of test cases (8)
Case 1
nums = [3,4,5,1,2]
Case 2
nums = [4,5,6,7,0,1,2]
Case 3
nums = [11,13,15,17]
Case 4
nums = [1]
Case 5
nums = [2,1]
Case 6
nums = [5,1,2,3,4]
Case 7
nums = [3,1,2]
Case 8
nums = [1,2,3,4,5]