学会思考
刻意练习
参考:
https://www.cnblogs.com/grandyang/p/10961560.html

#include <vector> #include <stdlib.h> #include <ostream> #include <string> using namespace std; /** * @brief The Solution1 class * 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 */ class Solution1{ public: bool isMonotonic(vector<int>& A){ bool inc = true, dec = true; for(int i = 1; i < A.size(); ++i){ inc &= (A[i-1] <= A[i]); dec &= (A[i-1] >= A[i]); if(!inc && !dec) return false; } return true; } }; class Solution2{ public: bool isMonotonic(vector<int>&A){ int inc = 1,dec = 1,n = A.size(); for(int i = 1; i < n; ++i){ inc += (A[i-1] <= A[i]); dec += (A[i-1] >= A[i]); } return (inc == n) || (dec == n); } };

 

posted on 2020-03-12 17:17  Worty  阅读(156)  评论(0编辑  收藏  举报