题解 | #识别山脉数组#

识别山脉数组

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;
    }
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务