- 如果数组是单调递增或单调递减的,那么它是单调的。
- 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]>=A[j],那么数组 A 是单调递减的。
- 当给定的数组 A 是单调数组时返回 true,否则返回 false。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/monotonic-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
蛮力,一次遍历
class Solution {
public boolean isMonotonic(int[] A) {
int size = A.length;
boolean inc = true,dec=true;
if(size==1)return true;
for(int i=1;i<size;i++){
if(A[i]>A[i-1])dec=false;
if(A[i]<A[i-1])inc=false;
}
return dec||inc;
}
}
蛮力,两次遍历
class Solution {
public boolean isMonotonic(int[] A) {
int size = A.length;
if (size == 1) return true;
boolean inc = false;
if (A[0] <= A[1]) {
inc = true;
for (int i = 2; i < size; i++) {
if (A[i - 1] > A[i]) {
inc &= false;
break;
}
}
}
boolean dec = false;
if (A[0] >= A[1]) {
dec = true;
for (int i = 2; i < size; i++) {
if (A[i - 1] < A[i]) {
dec &= false;
break;
}
}
}
return inc || dec;
}
}
时间复杂度:O(n)
空间复杂度:O(1)