如果數組是單調遞增或單調遞減的,那麼它是單調的。
如果對於所有 i <= j
,A[i] <= A[j]
,那麼數組 A
是單調遞增的。 如果對於所有 i <= j
,A[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 <= A.length <= 50000
-100000 <= A[i] <= 100000
解答:
思路 * 遍歷統計每次遞增的個數,如果遞增/遞減的次數等於 數組長度-1
/**
* 思路:遍歷統計每次遞增的個數,如果遞增/遞減的次數等於數組長度-1
* @param A
* @return
*/
public static boolean isMonotonic(int[] A) {
int inc = 0,dec = 0,len = A.length - 1;
for (int i = 0; i < len; i++) {
if (A[i] >= A[i + 1]) inc++;
if (A[i] <= A[i + 1]) dec++;
}
return inc == len || dec == len;
}