leetcode--896.单调数列

问题描述:
在这里插入图片描述
示例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;
    }
}
发布了73 篇原创文章 · 获赞 7 · 访问量 3576

猜你喜欢

转载自blog.csdn.net/weixin_43801718/article/details/103410468