- Monotonic Array
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 A is monotone decreasing if for all i <= j, A[i] >= A[j].
Return true if and only if the given array A is monotonic.
Example
Example 1:
Input: [1,2,2,3]
Output: true
Example 2:
Input: [1,3,2]
Output: false
Notice
1 \leq A.length \leq 500001≤A.length≤50000
-100000 \leq A[i] \leq 100000−100000≤A[i]≤100000
解法1:
class Solution {
public:
/**
* @param A: a array
* @return: is it monotonous
*/
bool isMonotonic(vector<int> &A) {
int n = A.size();
if (n <= 1) return true;
bool increasing, decreasing;
if (A[1] > A[0]) {
increasing = true;
decreasing = false;
} else if (A[1] < A[0]) {
increasing = false;
decreasing = true;
} else {
increasing = true;
decreasing = true;
}
for (int i = 2; i < n; ++i) {
if (increasing && A[i] >= A[i - 1]) continue;
if (decreasing && A[i] <= A[i - 1]) continue;
return false;
}
return true;
}
};
本文介绍了一种用于判断数组是否为单调递增或单调递减的算法。通过一次遍历,该算法可以确定数组A是否满足单调性条件,即对于所有i<=j,A[i]<=A[j]或A[i]>=A[j]。文章提供了具体的实现代码,并附带了示例输入输出。
547

被折叠的 条评论
为什么被折叠?



