如果數組是單調遞增或單調遞減的,那麼它是單調的。
如果對於所有 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
思路:可以遍歷兩次,一次遍歷判斷是否是單調遞增,一次遍歷判斷是否是單調遞減。如果有一次返回的是true,則說明通過。
public boolean isMonotonic(int[] A) {
boolean IsIncrease=true;
boolean IsDecline=true;
int len=A.length;
for(int i=0;i<len-1;i++){
if(A[i]<A[i+1]){
IsDecline = false;
break;
}
}
for(int j=0;j<len-1;j++){
if(A[j]>A[j+1]){
IsIncrease=false;
break;
}
}
return IsIncrease || IsDecline;
}