头像

带翅膀的猫

时光荏苒,我们一直都在

《LeetCode刷题(Easy Rank):896. Monotonic Array》

 1月前  •   LeetCode  •     •   6  •   0

Question:

An array is monotonic if it is either monotone increasing or monotone decreasing.

An array A is monotone increasing if for all i <= jA[i] <= A[j].  An array A is monotone decreasing if for all i <= jA[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

Solution:

同时比较前后两个数,用flag标记递增或者递减,一旦后期比较时发现一个不属于flag标记的情况就直接返回false,否则返回true。

Pythonclass Solution:
    def isMonotonic(self, A):
        """
        :type A: List[int]
        :rtype: bool
        """
        inc = None#标记递增还是递减
        for i,j in zip(A, A[1:]):
            if i != j:
                if inc is None:
                    inc = i < j
                else:
                    if inc != (i < j):#遇到不同的情况,直接返回false
                        return False
        return True   
JAVApublic boolean isMonotonic(int[] A) {
	boolean inc = true, dec = true;
	for (int i = 1; i < A.length; ++i) {
		inc &= A[i - 1] <= A[i];
		dec &= A[i - 1] >= A[i];
	}
	return inc || dec;
}

 

上一篇:
下一篇:

 评论


 已有0条评论

    还没有任何评论,你来说两句吧!