描述
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.
每日格言:每个人都有属于自己的一片森林,迷失的人迷失了,相逢的人会再相逢。
感谢支持 支付宝