class Solution:
    def findMin(self, A: List[int]) -> int:
        l,r = 0,len(A)-1
        while l < r:
            mid = l + (r - l)//2
            if A[mid] > A[r]: # 
                l = mid + 1 
            elif A[mid] < A[r]:
                r = mid
            elif A[mid] == A[r]:
                r -= 1 
        
        return A[l]