概述
一、题目
来源: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++)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复