单调数列

 

如果数组是单调递增或单调递减的,那么它是单调的。

如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。

当给定的数组 A 是单调数组时返回 true,否则返回 false。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/monotonic-array

分析该道题目,可以设置一个变量flag来控制是否是增长还是减少,然后前后逐一判断。

</span>
class Solution:
    def isMonotonic(self, A: List[int]) -> bool:
        flag = False
        if len(A) == 1:
            return True
        j = 0
        while True:
            if j >= len(A)-1:
                return True
            if A[j] == A[j+1]:
                j += 1
            elif A[j] > A[j+1]:
                flag =True
                break
            else:
                flag = False
                break
        for i in range(j, len(A) - 1):
            if flag:
                if  A[i] > A[i+1] or A[i] == A[i+1]:
                    pass
                else:
                    return False
            else:
                if A[i] < A[i+1] or A[i] == A[i+1]:
                    pass
                else:
                    return False
        return True
<span style="font-size: 14pt;">

以下是大佬的代码

</span>
class Solution:
    def isMonotonic(self, A):
        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)
<span style="font-size: 14pt;">

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00