zoukankan      html  css  js  c++  java
  • 941-有效山阵

    给定一个A整数数组,true当且仅当它是有效的山数组时才返回。回想一下,A是一个山脉阵列,当且仅当:A.length >= 3。存在一些i与  0 < i < A.length - 1 这样的: A[0] < A[1] < ... A[i-1] < A[i] A[i] > A[i+1] > ... > A[B.length - 1]

    例1: 输入:[2,1]         输出:false

    例2: 输入:[3,5,5]      输出:false

    例3: 输入:[0,3,2,1]   输出:true

    注意: 

    0 <= A.length <= 10000 ,0 <= A[i] <= 10000 

    解题思路:首先求出数组最大值和下标。然后根据数组最大值的下标分别设置向左向右的光标(光标初始值为最大值下标)。向左时若靠近最大值光标的值大于其下标的前一个值光标前移。向右时,靠近最大值光标的值大于其下标的后一个值光标后移。向前的光标值等于0,向后的光标值等于A.length-1则为有效山阵。
      public static boolean validMountainArray(int[] A) {
                if (A.length>=3)
                {
                    int max=A[0];
                    int m=0;
                    for (int i=0;i<A.length;i++)
                    {
                        if (A[i]>=max)
                        {
                            max=A[i];
                            m=i;
                        }
                    }
                    int x=m;
                    int y=m;
                    if (m==A.length-1||m==0)
                    {
                        return false;
                    }else {
                        for (int j=m;j>0;j--)
                        {
                            if (A[j]-A[j-1]>0)
                            {
                                x--;
                            }
                        }
                        for (int k=m;k<A.length-1;k++)
                        {
                            if (A[k]-A[k+1]>0)
                            {
                                y++;
                            }
                        }
    
                        if (x==0&&y==A.length-1)
                            return true;
                        else
                            return false;
                    }
                }else {
                    return false;
                }
    
        }
  • 相关阅读:
    统计数据库表中记录数
    在水晶报表中写一个条件判断语句
    数据库范式
    动态控件的新思路
    连续打印问题的解决
    水晶报表中测试纸张的margins
    向报表中传递参数
    JS实现页面跳转
    在dos下访问ntfs
    时间和字符混合处理
  • 原文地址:https://www.cnblogs.com/dloading/p/10707138.html
Copyright © 2011-2022 走看看