如果數組是單調遞增或單調遞減的,那么它是單調的。
如果對于所有 i <= j,A[i] <= A[j],那么數組 A 是單調遞增的。 如果對于所有 i <= j,A[i]> = A[j],那么數組 A 是單調遞減的。
當給定的數組 A 是單調數組時返回 true,否則返回 false。
示例 1:
輸入:[1,2,2,3]
輸出:true
解題思路
找出第一個逆序對,確定數組應該是升序還是降序
代碼
class Solution {public boolean isMonotonic(int[] A) {int j=1;while (j<A.length&&A[j]==A[j-1]) j++;//過濾前面相等的子數組 if(j==A.length) return true;boolean up=A[j]-A[j-1]>0;//找出第一個不相等的數對,確定數組應該是升序還是降序for (;j<A.length;j++) {if (A[j] == A[j - 1]) continue;if (up) {//找出不符合的數對if (A[j] - A[j - 1] < 0) return false;} else {if (A[j] - A[j - 1] > 0) return false;}}return true;}
}