import re
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param nums int整型一维数组
# @return int整型
#
class Solution:
def findPeakElement(self , nums: List[int]) -> int:
# write code here
# 最佳题解
# if(len(nums)==0):
# return -1
# 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 right
#三个一组,中间高两端低为山峰,简单思路
for b in range(1,len(nums)-1):
a=b-1
c=b+1
if len(nums)<3:#防止越界
break
if nums[a]<nums[b] and nums[b]>nums[c]:
return b
#其他情况直接返回最大值的下标即可
return nums.index(max(nums))