LintCode 1745

单调数列

题目描述
如果数组是单调递增或单调递减的,那么它是单调的
如果对于所有 i <= jA[i] <= A[j],那么数组 A 是单调递增的。如果对于所有 i <= jA[i]> = A[j],那么数组 A 是单调递减的。
当给定的数组 A 是单调数组时返回 true,否则返回 false
  • 1≤A.length≤50000
  • −100000≤A[i]≤100000

扫码免费做题
↓↓↓

样例 1
输入:[1,2,2,3]输出:true
样例 2
输入:[1,3,2]输出:false
解题思路
先假设数组为单调递增,也为单调递减。遍历一遍数组,判断是否破坏了递增或递减的单调性。若递增或递减其中一种属性未被破坏,即始终为true,返回其中一种结果
源代码
publicclassSolution{/** * @param A: a array * @return: is it monotonous */publicbooleanisMonotonic(int[] A){// Write your code here.boolean inc = true, dec = true;for (int i = 1; i < A.length; ++i) { inc &= A[i - 1] <= A[i]; dec &= A[i - 1] >= A[i]; }return inc || dec; }}
查看完整代码,向左滑动
点击【阅读原文】,查看领扣原题
继续阅读
阅读原文