问题描述:
示例1:
输入:[1,2,2,3]
输出:true
示例2:
输入:[6,5,4,4]
输出:true
示例3:
输入:[1,3,2]
输出:false
示例4:
输入:[1,1,1]
输出:true
思路:
单调数列无非就是单调递增或者单调递减。这里采用分情况讨论:
如果:数组的长度只有2或者1,那肯定是单调数列,返回true
定义一个i,i=1&&i<A.length-1.进行两个单独的for循环
如果对于每一个i都有A[i]-A[i-1]>=0&&A[i+1]-A[i]>=0 则是单调递增
如果对于每一个i都有A[i]-A[i-1]<=0&&A[i+1]-A[i]<=0 则是单调递减
如果满足这两个中的一个情况,就说明是单调数列,返回true
如果都不满足,就返回false
java代码:
class Solution {
public boolean isMonotonic(int[] A) {
if(A.length==2||A.length==1){
return true;
}
boolean flag=false;
for(int i=1;i<A.length-1;i++){
if(A[i]-A[i-1]>=0&&A[i+1]-A[i]>=0){
flag=true;
}else{
flag=false;
break;
}
}
if(flag==false){
for(int i=1;i<A.length-1;i++){
if(A[i]-A[i-1]<=0&&A[i+1]-A[i]<=0){
flag=true;
}else{
flag=false;
break;
}
}
}
return flag;
}
}