53
53
54
54
遍历数组:
55
55
56
- - 出现递减,将 ` increase ` 置为 ` false ` ;
57
- - 出现递增,将 ` decrease ` 置为 ` false ` ;
56
+ - 出现递减,将 ` incr ` 置为 ` false ` ;
57
+ - 出现递增,将 ` decr ` 置为 ` false ` ;
58
58
- 既非递增也非递减,提前返回 ` false ` ;
59
59
- 遍历结束,若出现递增或递减,返回 ` true ` 。
60
60
66
66
67
67
``` python
68
68
class Solution :
69
- def isMonotonic (self , A : List[int ]) -> bool :
70
- increase = decrease = True
71
- for i in range ( 1 , len (A) ):
72
- if not increase and not decrease :
69
+ def isMonotonic (self , nums : List[int ]) -> bool :
70
+ incr = decr = True
71
+ for i, v in enumerate (nums[ 1 :] ):
72
+ if not incr and not decr :
73
73
return False
74
- if A[i] < A[i - 1 ]:
75
- increase = False
76
- elif A[i] > A[i - 1 ]:
77
- decrease = False
78
- return increase or decrease
74
+ if v < nums[i ]:
75
+ incr = False
76
+ elif v > nums[i ]:
77
+ decr = False
78
+ return incr or decr
79
79
```
80
80
81
81
### ** Java**
@@ -84,18 +84,86 @@ class Solution:
84
84
85
85
``` java
86
86
class Solution {
87
- public boolean isMonotonic (int [] A ) {
88
- boolean increase = true , decrease = true ;
89
- for (int i = 1 , n = A . length; i < n; ++ i) {
90
- if (! increase && ! decrease) return false ;
91
- if (A [i] < A [i - 1 ]) decrease = false ;
92
- else if (A [i] > A [i - 1 ]) increase = false ;
87
+ public boolean isMonotonic (int [] nums ) {
88
+ boolean incr = true , decr = true ;
89
+ for (int i = 1 ; i < nums. length; ++ i) {
90
+ if (! incr && ! decr) {
91
+ return false ;
92
+ }
93
+ if (nums[i] < nums[i - 1 ]) {
94
+ incr = false ;
95
+ } else if (nums[i] > nums[i - 1 ]) {
96
+ decr = false ;
97
+ }
93
98
}
94
- return increase || decrease ;
99
+ return incr || decr ;
95
100
}
96
101
}
97
102
```
98
103
104
+ ### ** C++**
105
+
106
+ ``` cpp
107
+ class Solution {
108
+ public:
109
+ bool isMonotonic(vector<int >& nums) {
110
+ bool incr = true;
111
+ bool decr = true;
112
+ for (int i = 1; i < nums.size(); ++i)
113
+ {
114
+ if (!incr && !decr) return false;
115
+ if (nums[ i] < nums[ i - 1] ) incr = false;
116
+ if (nums[ i] > nums[ i - 1] ) decr = false;
117
+ }
118
+ return incr || decr;
119
+ }
120
+ };
121
+ ```
122
+
123
+ ### **Go**
124
+
125
+ ```go
126
+ func isMonotonic(nums []int) bool {
127
+ incr, decr := true, true
128
+ for i, v := range nums[1:] {
129
+ if !incr && !decr {
130
+ return false
131
+ }
132
+ if v < nums[i] {
133
+ incr = false
134
+ } else if v > nums[i] {
135
+ decr = false
136
+ }
137
+ }
138
+ return incr || decr
139
+ }
140
+ ```
141
+
142
+ ### ** JavaScript**
143
+
144
+ ``` js
145
+ /**
146
+ * @param {number[]} nums
147
+ * @return {boolean}
148
+ */
149
+ var isMonotonic = function (nums ) {
150
+ let incr = true ;
151
+ let decr = true ;
152
+ for (let i = 1 ; i < nums .length ; ++ i) {
153
+ if (! incr && ! decr) {
154
+ return false ;
155
+ }
156
+ if (nums[i] < nums[i - 1 ]) {
157
+ incr = false ;
158
+ }
159
+ if (nums[i] > nums[i - 1 ]) {
160
+ decr = false ;
161
+ }
162
+ }
163
+ return incr || decr;
164
+ };
165
+ ```
166
+
99
167
### ** ...**
100
168
101
169
```
0 commit comments