852. Peak Index in a Mountain Array

Question

CleanShot 2024-09-04 at 16.40.38@2x.png

Code

class Solution:
    def peakIndexInMountainArray(self, arr: List[int]) -> int:
        l, r = 0, len(arr) - 1

        while l <= r:
            mid = (l + r) // 2


            if mid > 0 and arr[mid] < arr[mid - 1]:
                r = mid - 1
            elif mid < len(arr) - 1 and arr[mid] < arr[mid + 1]:
                l = mid + 1
            else:
                return mid