public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int findPeakElement (int[] nums) {
// write code here
//思路一 直接遍历数组 找到满足峰值条件的索引 最笨的方法
//思路二 二分法 如果相邻右边的值小于中间值那左侧必有波峰 相反 右侧必有波峰
int beginIndex = 0;
int endIndex = nums.length - 1;
while(beginIndex < endIndex){
int midIndex = beginIndex + (endIndex - beginIndex) / 2;
if(nums[midIndex] > nums[midIndex + 1]){
endIndex = midIndex;
} else {
beginIndex = midIndex + 1;
}
}
return beginIndex;
}
}