leetcode 896. Monotonic Array( Python )

421 阅读20分钟

描述

An array is monotonic if it is either monotone increasing or monotone decreasing.

An array A is monotone increasing if for all i <= j, A[i] <= A[j]. An array A is monotone decreasing if for all i <= j, A[i] >= A[j].

Return true if and only if the given array A is monotonic.

Example 1:

Input: [1,2,2,3]
Output: true

Example 2:

Input: [6,5,4,4]
Output: true

Example 3:

Input: [1,3,2]
Output: false

Example 4:

Input: [1,2,4,5]
Output: true

Example 5:

Input: [1,1,1]
Output: true

Note:

1 <= A.length <= 50000
-100000 <= A[i] <= 100000

解析

结合例子理解比较简单,就是判断此数组是非减或者非增的数组,直接遍历判断即可,时间复杂度为 O(N),空间复杂度为 O(1)。

解答

class Solution(object):
def isMonotonic(self, A):
    """
    :type A: List[int]
    :rtype: bool
    """
    N = len(A)
    if N==1:
        return True
    return all([A[i]>=A[i-1] for i in range(1,len(A))]) or all([ A[i]<=A[i-1] for i in range(1,len(A)) ])
    
            

运行结果

Runtime: 476 ms, faster than 25.36% of Python online submissions for Monotonic Array.
Memory Usage: 17.1 MB, less than 44.41% of Python online submissions for Monotonic Array.	

每日格言:每个人都有属于自己的一片森林,迷失的人迷失了,相逢的人会再相逢。

感谢支持 支付宝

支付宝

微信

微信