896. 单调数列
Posted chen-jack
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了896. 单调数列相关的知识,希望对你有一定的参考价值。
如果数组是单调递增或单调递减的,那么它是单调的。
如果对于所有 i <= j
,A[i] <= A[j]
,那么数组 A
是单调递增的。 如果对于所有 i <= j
,A[i]> = A[j]
,那么数组 A
是单调递减的。
当给定的数组 A
是单调数组时返回 true
,否则返回 false
。
示例 1:
输入:[1,2,2,3] 输出:true
示例 2:
输入:[6,5,4,4] 输出:true
示例 3:
输入:[1,3,2] 输出:false
示例 4:
输入:[1,2,4,5] 输出:true
示例 5:
输入:[1,1,1] 输出:true
提示:
1 <= A.length <= 50000
-100000 <= A[i] <= 100000
思路:通过头尾元素判定是哪种单调数列,然后遍历求解,比较简单,目前beat 99%
class Solution { public boolean isMonotonic(int[] A) { int i=0,j=A.length-1; int flag = (A[A.length-1]>=A[0]) ? 1 : 0; //判断属于那种数列 1表示单调递增 0表示单调递减 if(flag==1){ for(;i<j;--j,++i){ if((A[i+1]>=A[i] && A[j]>=A[j-1]) ) continue; else return false; } } else { for(;i<j;--j,++i){ if((A[i+1]<=A[i] && A[j]<=A[j-1]) ) continue; else return false; } } return true; } }
以上是关于896. 单调数列的主要内容,如果未能解决你的问题,请参考以下文章