March——896.单调数列

class Solution:
    def isMonotonic(self, A: List[int]) -> bool:
        
        #先判断第一个和最后一个元素的大小,假设该数列是递增或者递减,然后遍历过程中进行验证就可以了
        if A[0]<=A[-1]:
            for i in range(1,len(A)):
                if A[i]>=A[i-1]:
                    continue
                else:
                    return False
        else:
            for i in range(1,len(A)):
                if A[i]<=A[i-1]:
                    continue
                else:
                    return False
        
        return True



        #遍历一个数组,如果某一个位置既有大于某个数又有小于某个数的存在,那么就认为该数组不是单调数组
        increase,decrease = False, False
        for i in range(len(A)-1):
            if A[i]<A[i+1]:
                increase = True
            elif A[i]>A[i+1]:
                decrease = True
        
        return not (increase and decrease)
  • 两种方法
    • 比较第一个元素和最后一个元素的大小,提出一个假设(单调递增、单调递减);然后在去判断是不是单调数列
    • 用两个标志位去记录当前元素大于某个元素和当前元素小于某个元素,如果如果这两个变量都被更新,那就说明该数列不是单调数列 

猜你喜欢

转载自blog.csdn.net/weixin_37724529/article/details/114277926