1、描述
896如果数组是单调递增或单调递减的,那么它是单调的。
如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。
当给定的数组 A 是单调数组时返回 true,否则返回 false。
示例 1:
输入:[1,2,2,3]
输出:true
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/monotonic-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2、关键字
数组、单调,判断
3、思路
思路1:2次遍历,递增和递减都试一次,
思路2:一次遍历,同时判断非递增非递减
4、notes
灵活使用库函数
is_sorted(A.begin(),A.end());
is_sorted(A.rbegin(),A.rend());
5、复杂度
时间:O(N)
空间:O(1)
6、code
class Solution {
public:
bool isMonotonic(vector<int>& A) {
int n=A.size();
/*
return is_sorted(A.begin(),A.end())||is_sorted(A.rbegin(),A.rend());*/
bool inc=true,dec=true;
for(int i=0;i<n-1;i++){
if(A[i]>A[i+1]){
inc=false;
}
if(A[i]<A[i+1]){
dec=false;
}
}
return inc||dec;
}
};