class Solution:
def findPeakElement(self , nums: List[int]) -> int:
nums = nums + [float('-inf')]
pre = float('-inf')
for i in range(len(nums)):
if nums[i] > pre:
mx_i = i
if nums[i] < pre:
return mx_i
pre = nums[i]
class Solution:
def findPeakElement(self , nums: List[int]) -> int:
l, r = 0, len(nums) - 1
while l < r:
m = (l + r) // 2
if nums[m] < nums[m + 1]: # 上坡;因为 l < r,所以 m+1 不会越界
l = m + 1
else: # 下坡
r = m
if m == 0 or nums[m - 1] < nums[m]: # 这段去掉也能 AC
return m
return l