题目描述
如果数组是单调递增或单调递减的,那么它是单调的。
如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。
当给定的数组 A 是单调数组时返回 true,否则返回 false。
解答
class Solution(object):
def isMonotonic(self, A):
"""
:type A: List[int]
:rtype: bool
"""
length = len(A)
if length<=2:
return True
# flag 用于记录是递增还是递减
# 前面几个数都相等时,无法判断
# 一旦能确定大小关系,就停止循环
for i in range(1,length):
if A[i-1]>A[i]:
flag = 1
break
if A[i-1]<A[i]:
flag = 0
break
# 前i个数都已经判断过是递增还是递减的了,从第i+1个开始判断
for j in range(i+1,length):
if flag==1:
if A[j-1]<A[j]:
return False
else:
if A[j-1]>A[j]:
return False
return True