Find Minimum in Rotated Sorted Array (Leetcode 153)

The same code is used to find the Rotation Count in Rotated Sorted array

Problem Link: https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/

class Solution:
    def findMin(self, nums: List[int]) -> int:
     
        def modifiedbsearch(nums,i,j):
            
            mid=(i+j)//2
            while(i<=j):
                if(nums[i]<=nums[j]):
                    return i
                
                # Case 1: If first part is sorted
                if(nums[i]<=nums[mid]):
                    return modifiedbsearch(nums,mid+1,j)
                
                # Case 2: Else
                else:
                    return modifiedbsearch(nums,i,mid)
                 
            
        n=len(nums)
        idx=modifiedbsearch(nums,0,n-1)
        return nums[idx]

Last updated