1. 程式人生 > >leetcode 941 有效的山脈陣列

leetcode 941 有效的山脈陣列

給定一個整數陣列 A,如果它是有效的山脈陣列就返回 true,否則返回 false

讓我們回顧一下,如果 A 滿足下述條件,那麼它是一個山脈陣列:

  • A.length >= 3
  • 在 0 < i < A.length - 1 條件下,存在 i 使得:
    • 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

 

提示:

  1. 0 <= A.length <= 10000

0 <= A[i] <= 10000 


按照題意遍歷一遍陣列,檢查一下就行。

class Solution {
    public boolean validMountainArray(int[] A) {
        if(A.length<3)return false;
        int cnt=0;
        int n = A.length;
        for(int i=0;i<n;i++){
            if(i==0){
                if(A[i]>=A[i+1])return false;
            }
            else if(i==n-1){
                if(A[i]>=A[i-1])return false;
            }
            else if(A[i]>A[i-1]&&A[i]>A[i+1])cnt++;
            else if(A[i]==A[i-1]||A[i]==A[i+1])return false;
        }
        return cnt==1;
    }
}