896. 單調數列
阿新 • • 發佈:2018-11-09
continue 如果 solution else 那種 als 求解 col 判斷
如果數組是單調遞增或單調遞減的,那麽它是單調的。
如果對於所有 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. 單調數列