题目地址:
https://leetcode.com/problems/monotonic-array/
给定一个数组,判断其是否单调(不一定要严格)。
可以用两个变量分别存储数组是否单调增或单调降,最后取或即可。代码如下:
public class Solution {
public boolean isMonotonic(int[] A) {
if (A == null || A.length <= 2) {
return true;
}
boolean incr = true, decr = true;
for (int i = 0; i < A.length - 1; i++) {
// 如果发现不满足单调增或者单调减,则改变变量值
if (A[i] > A[i + 1]) {
incr = false;
}
if (A[i] < A[i + 1]) {
decr = false;
}
}
return incr || decr;
}
}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。