zoukankan      html  css  js  c++  java
  • leetcode 941 有效的山脉数组

    public static boolean validMountainArray(int[] A) {
        if (A == null || A.length <= 2) {
            return false;
        }
    
        // idx表示分水岭
        int idx = 0;
        // 单调递增
        while (idx + 1 < A.length) {
            if (A[idx] >= A[1 + idx]) break;
            idx++;
        }
    
        // 如果已经到最后一个位置了,说明全是递增的,不属于有效山脉数组
        // 另一种则是第2个元素小于第一个元素,肯定不是有效山脉数组
        if (idx == 0 || idx + 1 >= A.length){
            return false;
        }
    
        // 判断另一侧是不是单调递减的
        while (idx + 1 < A.length) {
            if (A[idx] <= A[1 + idx]) return false;
            idx++;
        }
    
        return true;
    }
    
    // 测试用例
    public static void main(String[] args) {
        int[] A = new int[]{2, 1};
        boolean ans = validMountainArray(A);
        System.out.println("ValidMountainArray demo01 result: " + ans);
    
        A = new int[]{3, 5, 5};
        ans = validMountainArray(A);
        System.out.println("ValidMountainArray demo02 result: " + ans);
    
        A = new int[]{0, 3, 2, 1};
        ans = validMountainArray(A);
        System.out.println("ValidMountainArray demo03 result: " + ans);
    
        A = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        ans = validMountainArray(A);
        System.out.println("ValidMountainArray demo04 result: " + ans);
    
        A = new int[]{9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
        ans = validMountainArray(A);
        System.out.println("ValidMountainArray demo04 result: " + ans);
    
    }
    
  • 相关阅读:
    检测浏览器是否支持DOM2级规定的HTML事件
    click冒泡到body
    浏览器事件归类
    兼容主流浏览器的事件处理程序
    eventPhase三个状态测试
    鼠标滚轮事件(mousewheel)
    自定义右键菜单(contextmenu)
    数据库范式
    敏捷开发模式
    没有清晰的职业规划,跳槽会很失败
  • 原文地址:https://www.cnblogs.com/fyusac/p/13917831.html
Copyright © 2011-2022 走看看