1. 程式人生 > >算法31----單調數列

算法31----單調數列

如果 speed als 輸入 style range memory nbsp 遞增

1、題目

如果數組是單調遞增或單調遞減的,那麽它是單調的

如果對於所有 i <= jA[i] <= A[j],那麽數組 A 是單調遞增的。 如果對於所有 i <= jA[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

二、代碼:

Speed = O(n)
Memory = O(1)

    def isMonotonic(self, A):
        """
        :type A: List[int]
        :rtype: bool
        """
        
        is_monotonic_asc = True;
        is_monotonic_desc = True;
        
        for i in range(1, len(A)):
            if A[i] < A[i - 1]:
                is_monotonic_asc 
= False; if A[i] > A[i - 1]: is_monotonic_desc = False; return is_monotonic_asc or is_monotonic_desc;

算法31----單調數列