LeetCode 896 Monotonic Array
阿新 • • 發佈:2018-12-16
Description
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
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
Solution
- 解題思路
一開始的想法是做兩次判斷,判斷是否是遞增陣列,如果不是再判斷是否是遞減陣列,參考了部落格:https://blog.csdn.net/yanglingwell/article/details/82316780,原來可以在一次迴圈裡面直接判斷,感到了自己的菜T T
先設定兩個布林變數inc(遞增)、dec(遞減),初值為true,在迴圈過程中如果不滿足條件則將變數設為false,最後返回這兩個變數的or結果。
- AC程式碼
class Solution {
public:
bool isMonotonic(vector<int>& A) {
bool inc = true, dec = true;
for(int i = 0; i < A.size() - 1; i++){
if(A[i] < A[i+1]) dec = false;
else if(A[i] > A[i+1]) inc = false;
}
return inc || dec;
}
};