1. 程式人生 > >單調數列[leetcode]

單調數列[leetcode]

題目描述

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

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

當給定的陣列 A 是單調陣列時返回 true,否則返回 false

示例 1:

輸入:[1,2,2,3]
輸出:true

示例 2:

輸入:[6,5,4,4]
輸出:true

示例 3:

輸入:[1,3,2]
輸出:false

示例 4:

輸入:[1,2,4,5]
輸出:true

示例 5:

輸入:[1,1,1]
輸出:true

提示:

  1. 1 <= A.length <= 50000
  2. -100000 <= A[i] <= 100000

分析

按照遞增和遞減分別寫兩個函式,放到目標函式中做判斷。

貼出程式碼

class Solution {
    public boolean isMonotonic(int[] A) {
         if(upMonotonic(A)||downMontonic(A))
            return true;
        else if(A.length == 1)
            return true;
        else return false;
    }
public boolean upMonotonic(int[] A){ int a,b; boolean t = false; for(int i = 1; i < A.length; i++){ a = A[i - 1]; b = A[i]; if(a <= b) t =true; else{ t = false; break; }
} return t; } public boolean downMontonic(int[] A){ int a,b; boolean t = false; for(int i = 1; i < A.length; i++){ a = A[i - 1]; b = A[i]; if(a >= b) t =true; else{ t = false; break; } } return t; } }