leetcode 896. 单调数列 java
如果数组是单调递增或单调递减的,那么它是单调的。
如果对于所有 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
思路:递增和递减分别看,如果循环到最后没终止,那么符合
class Solution {
public boolean isMonotonic(int[] A) {
int len = A.length;
int i = 0;
int j = 0;
if(len == 0) return false;
else if(len == 1) return true;
//递增
while(i < len-1){
if(A[i] <= A[i+1]){
i ++;
}
else break;
}
//递减
while(j < len-1){
if(A[j] >= A[j+1]){
j ++;
}
else break;
}
if(i == len-1 || j == len-1){
return true;
}
else{
return false;
}
}
}