classSolution: deffindPeakElement(self, nums: List[int]) -> int: left = 0 right = len(nums) - 1 min_val = -float("inf") while left <= right: mid = left + (right - left) // 2 val = nums[mid] val_b = min_val if mid == 0else nums[mid-1] val_a = min_val if mid == len(nums)-1else nums[mid+1] if val_b < val and val > val_a: return mid if val_b > val: right = mid - 1 else: left = mid + 1 return left