【数组】896. 单调数列

题目:

 

 

解答:

如果数组单调则所有相邻两值的差必须都同号。

 1 class Solution {
 2 public:
 3     bool isMonotonic(vector<int>& A) 
 4     {
 5         //两相邻值的差
 6         int sub=0;
 7         for (int i = 1; i < A.size(); i++)
 8         {
 9             //第一个非0的差值赋值给sub
10             if (sub==0) 
11             {
12                 sub = A[i] - A[i-1];
13             }
14             else
15             {
16                 //sub和之后的某个差值不同号时为非单调
17                 if (sub * (A[i]-A[i-1]) < 0) 
18                 {
19                     return false;
20                 }
21             }
22         }
23         return true;
24     }
25 };

 

posted @ 2020-05-04 18:39  梦醒潇湘  阅读(217)  评论(0)    收藏  举报