An arrayis monotonic if it is either monotone increasing or monotone decreasing.
An array A is monotone increasing iffor all i <= j, A[i] <= A[j]. An array A is monotone decreasing iffor all i <= j, A[i] >= A[j].
Return trueifand only if the given array A is monotonic.
Example 1:
Input: [1,2,2,3]
Output: true
Example 2:
Input: [6,5,4,4]
Output: true
Example 3:
Input: [1,3,2]
Output: false
Example 4:
Input: [1,2,4,5]
Output: true
Example 5:
Input: [1,1,1]
Output: true
Note:
1 <= A.length <= 50000
-100000 <= A[i] <= 100000
代码
class Solution {
publicbooleanisMonotonic(int[] A) {
int len = A.length;
if(len==1){
returntrue;
}
int i=-1,j=0;
//先找到不同的连续的两个while(A[++i]==A[++j]&&j<len-1);
//如果全相同直接返回trueif(j==(len-1)){
returntrue;
}
//获取其是否为升序boolean increasing = A[i]>A[j]?false:true;
//此处k=j是因为j-1之前的都为相同的for(int k=j;k<len;k++){
//根据升序降序进行判断if(increasing&&A[k]<A[k-1]){
returnfalse;
}
if(!increasing&&A[k]>A[k-1]){
returnfalse;
}
}
returntrue;
}
}
题目An array is monotonic if it is either monotone increasing or monotone decreasing.An array A is monotone increasing if for all i &lt;= j, A[i] &lt;= A[j]. An array A is monotone decreasing if ...