1. 程式人生 > >【JS】判斷單調數列

【JS】判斷單調數列

如果陣列是單調遞增或單調遞減的,那麼它是單調的。

如果對於所有 i <= j,A[i] <= A[j],那麼陣列 A 是單調遞增的。 如果對於所有 i <= j,A[i]> = A[j],那麼陣列 A 是單調遞減的。

當給定的陣列 A 是單調陣列時返回 true,否則返回 false。   示例 1: 輸入:[6,5,4,4] 輸出:true

示例 2: 輸入:[1,3,2] 輸出:false   提示: 1 <= A.length <= 50000 -100000 <= A[i] <= 100000

解法一: 當元素全部等於那它是單調陣列,當元素第一個是大於那後面的都必須走大於路線,當元素第一個小於那後面的都必須要小於。兩個條件都走將會跳出迴圈。

 // @param 2018/11/13 Tue night

var isMonotonic = function(A) {
    var x=0;
    for(var i=0;i<A.length;i++){
        if(A[i]==A[i+1]) continue;

        if(A[i]>A[i+1]){
            if(x==2) return false;
            x=1;
        }
        if(A[i]<A[i+1]){
            if(x==1) return false;
            x=2;
        }
    }
    return true;
};