挺简单的一道题,没有人写题解,我来写吧!
先说一下思路:从index为0开始 找出第一个 arr[index]<=arr[index+1]的索引 max 这个点就是我们想要找的最高峰
需要注意
max!=0 && max!=arr.length-1
上面的判断是题目要求,请注意
从max的位置向后遍历,寻找是否有大于等i的元素 返回false
否则返回true
代码如下:
public boolean validMountainArray (int[] arr) {
// write code here
if (arr.length<3) return false;
int max = 0;
for (int i = 0; i < arr.length-1; i++) {
if (arr[i]<arr[i+1]) continue;
else{
max = i;
break;
}
}
if (max==0||max== arr.length-1) return false;
for (int i = max; i < arr.length-1; i++) {
if (arr[i+1]>=arr[i]) return false;
}
return true;
}
京公网安备 11010502036488号