An array is monotonic if it is either monotone increasing or monotone decreasing.
An array A is monotone increasing if for all i <= j, A[i] <= A[j]. An array Ais monotone decreasing if for all i <= j, A[i] >= A[j].
Return true if and 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
思路:
1,判断是不是为1 ,是则直接返回true
2,设置递增、递减标志位,遍历时做比较,并使相应的标志位增加
3,判断标志位的值,若为a.length-1则为单调
#pragma once
#include <iostream>
#include<vector>
using namespace std;
class Solution {
public:
bool isMonotonic(vector<int>& A) {
//如果只有一位数,直接返回1
if (A.size() == 1)
{
return true;
}
//两个标志,分别表示递增和递减的个数
int increase = 0;
int less = 0;
for (int i = 0; i < A.size()-1; i++)
{
//满足递增,则递增标志位+1.
if (A[i] >= A[i + 1])
{
increase++;
}
//满足递减,则递减标志位+1.
if (A[i] <= A[i + 1])
{
less++;
}
}
//只要递增或者递减标志位为A长度-1,则表示单调
if (increase == A.size()-1 || less == A.size()-1)
{
return true;
}
else
{
return false;
}
}
};
继续阅读与本文标签相同的文章
上一篇 :
利用Django在前端展示TOP SQL信息
下一篇 :
云场景实践研究第88期:Ping++
-
携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结!
2026-05-19栏目: 教程
-
浏览器事件机制中 事件触发的三个阶段
2026-05-19栏目: 教程
-
德媒:德国5G安全标准“一视同仁”,5G建设不排除华为
2026-05-19栏目: 教程
-
简单了解 JavaScript的组成
2026-05-19栏目: 教程
-
阿里云如何备份虚拟机?
2026-05-19栏目: 教程
