一、题目描述
二、分析
1、先理解题目:峰值,即当前值左右两边的值都比它小,边界只要一边比它小即可
2、分析:
(1)如果只有一个数值,直接返回0;
(2)如果有两个数值,谁大就返回谁的下标;
(3)考虑边界:
a. 左边界,即下标为0的数值,只要它比右边的数值大,那它就是峰值;题目要求只要找出一个峰值就行了,因此这个条件可以优先判断,满足返回即可;
b. 右边界,即最后一个数值,只要它比左边的数值大,那它就是峰值;剩下所有数值都遍历过之后无峰值才判断该边界条件;
三:代码
public int findPeakElement (int[] nums) {
if (nums.length