Python Leetcode(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
Solution:(针对这种是否单调状态的判断,可以设置两个flag来标记这个数列是增长还是下降的状态,如果只有其中一种状态,即数列单调;否则就是既有增加又有减少,返回false)
class Solution(object):
def isMonotonic(self, A):
"""
:type A: List[int]
:rtype: bool
"""
up, down = 0, 0
for i in range(len(A)-1):
if A[i] < A[i+1]:
up = 1
if A[i] > A[i+1]:
down = 1
if up and down:
return False
else:
return True
solution = Solution()
print(solution.isMonotonic([1,2,2,3]))
True
print(solution.isMonotonic([1, 3, 2, 2]))
False