Title: Monotonic Array Source: leetcode.com
An array is monotonic if it is either monotone increasing or monotone decreasing.
An array A is monotone increasing if for all i <= j, A[i] <= A[j]. An array A is monotone decreasing if for all i <= j, A[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
Note:
- 1 <= A.length <= 50000
- -100000 <= A[i] <= 100000
Python solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
''' https://leetcode.com/problems/monotonic-array/ ''' class Solution(object): def isMonotonic(self, A): """ :type A: List[int] :rtype: bool """ ln = len(A) if ln < 3: return True p = A[0] i = 0 for n in A: if p != n: break i += 1 if i == ln: return True flag = (A[i-1] <= A[i]) p = A[i] while i < ln: n = A[i] if flag: if p > n: return False else: if p < n: return False p = n i += 1 return True |