```#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param nums int整型一维数组
# @return int整型
#
class Solution:
def findPeakElement(self , nums: List[int]) -> int:
# write code here
left=0
right=len(nums)-1
while left<right:
mid=(left+right)//2
if nums[mid]>nums[mid+1]:
right=mid
else:
left=mid+1
return left
##### 题目说可以时间复杂度为O(logn),那么第一个联想到为二分法,那么怎么尝试去做呢?
峰值:当前数字大于左右临近的元素,核心就是判断nums[mid]>nums[mid+1],
然后根据谁大调整左右指针,即使元素单调也没事,返回首(尾)元素索引就行了。