Last updated on July 19th, 2024 at 10:49 pm
Here, We see Find Minimum in Rotated Sorted Array LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.
List of all LeetCode Solution
Topics
Array, Binary Search
Companies
Microsoft
Level of Question
Medium
![Find Minimum in Rotated Sorted Array LeetCode Solution](https://i0.wp.com/totheinnovation.com/wp-content/uploads/2024/02/LeetCode-Problem-Solution.png?resize=200%2C200&ssl=1)
Find Minimum in Rotated Sorted Array LeetCode Solution
Table of Contents
Problem Statement
Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array nums = [0,1,2,4,5,6,7] might become:
- [4,5,6,7,0,1,2] if it was rotated 4 times.
- [0,1,2,4,5,6,7] if it was rotated 7 times.
Notice that rotating an array [a[0], a[1], a[2], …, a[n-1]] 1 time results in the array [a[n-1], a[0], a[1], a[2], …, a[n-2]].
Given the sorted rotated array nums of unique elements, return the minimum element of this array.
You must write an algorithm that runs in O(log n) time.
Example 1:
Input: nums = [3,4,5,1,2]
Output: 1
Explanation: The original array was [1,2,3,4,5] rotated 3 times.
Example 2:
Input: nums = [4,5,6,7,0,1,2]
Output: 0
Explanation: The original array was [0,1,2,4,5,6,7] and it was rotated 4 times.
Example 3:
Input: nums = [11,13,15,17]
Output: 11
Explanation: The original array was [11,13,15,17] and it was rotated 4 times.
1. Find Minimum in Rotated Sorted Array LeetCode Solution C++
class Solution { public: int findMin(vector<int>& nums) { int n = nums.size(); int low=0, high=n-1; while(low<high){ if(nums[low] <= nums[high]) return nums[low]; int mid = low + (high-low)/2; if(nums[low] > nums[mid]){ high=mid; } else if(nums[mid] > nums[high]) { low=mid+1; } } if(nums[low] <= nums[high]) return nums[low]; return -1; } };
2. Find Minimum in Rotated Sorted Array LeetCode Solution Java
class Solution { public int findMin(int[] nums) { int l = 0; int r = nums.length - 1; while (l < r) { final int m = (l + r) / 2; if (nums[m] < nums[r]) r = m; else l = m + 1; } return nums[l]; } }
3. Find Minimum in Rotated Sorted Array Solution JavaScript
var findMin = function(nums) { let left = 0; let right = nums.length - 1; while (left < right) { let mid = left + Math.floor((right - left) / 2); if (nums[mid] > nums[right]) { left = mid + 1; } else { right = mid; } } return nums[left]; };
4. Find Minimum in Rotated Sorted Array Solution Python
class Solution(object): def findMin(self, nums): left = 0 right = len(nums) - 1 while left < right: mid = left + (right - left) / 2 if nums[mid] > nums[right]: left = mid + 1 else: right = mid return nums[left]