我是靠谱客的博主 大气大炮,最近开发中收集的这篇文章主要介绍896. 单调数列-leetcode刷题(C++),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、题目

来源:leetcode 896.

二、分析

此题较为简单,大家细心就可以完成。
解题思路是:
1、首先需要确定它是递增的还是递减的;
2、从确定单调性后,继续向后遍历,如果是递增的,后一个元素必须大于或者等于前一个元素。

三、代码

class Solution {
public:
    bool isMonotonic(vector<int>& A) {
        if(A.size() <= 1) return true;

        bool ans = true;
        bool addflag = true;

        int i;
        // 确定单调性
        for(i =1; i< A.size(); i ++){
            if(A[i] == A[i-1]) continue;
            if(A[i] > A[i-1]){
                addflag = true;
                break;
            }
            else if(A[i] < A[i-1]){
                addflag = false;
                break;
            } 
        }
        // addflag = true 为单调增,继续遍历数组,遇到不满足条件直接跳出。
        for(int j = i + 1; j < A.size(); j ++){
            if(addflag){
                if(A[j] < A[j-1]){
                    ans = false;
                    break;
                }
            }else{
                if(A[j] > A[j-1]){
                    ans = false;
                    break;
                }
            }
        }
        return ans;
    }
};

最后

以上就是大气大炮为你收集整理的896. 单调数列-leetcode刷题(C++)的全部内容,希望文章能够帮你解决896. 单调数列-leetcode刷题(C++)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部