题解 | #识别山脉数组#
识别山脉数组
http://www.nowcoder.com/practice/454fc7e2d5b54cc78a3e22e0a2db9d21
挺简单的一道题,没有人写题解,我来写吧!
先说一下思路:从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; }