Skip to content

Commit 3cb7d22

Browse files
committed
feat: add solutions to lc problem: No.0896
No.0896.Monotonic Array
1 parent c5a217c commit 3cb7d22

File tree

4 files changed

+134
-0
lines changed

4 files changed

+134
-0
lines changed

solution/0800-0899/0896.Monotonic Array/README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,54 @@ var isMonotonic = function (nums) {
164164
};
165165
```
166166

167+
### **TypeScript**
168+
169+
```ts
170+
function isMonotonic(nums: number[]): boolean {
171+
const n = nums.length;
172+
let isOrder = false;
173+
let isDecs = false;
174+
for (let i = 1; i < n; i++) {
175+
const pre = nums[i - 1];
176+
const cur = nums[i];
177+
if (pre < cur) {
178+
isOrder = true;
179+
} else if (pre > cur) {
180+
isDecs = true;
181+
}
182+
if (isOrder && isDecs) {
183+
return false;
184+
}
185+
}
186+
return true;
187+
}
188+
```
189+
190+
### **Rust**
191+
192+
```rust
193+
impl Solution {
194+
pub fn is_monotonic(nums: Vec<i32>) -> bool {
195+
let n = nums.len();
196+
let mut isOrder = false;
197+
let mut isDecs = false;
198+
for i in 1..n {
199+
let pre = nums[i - 1];
200+
let cur = nums[i];
201+
if pre < cur {
202+
isOrder = true;
203+
} else if pre > cur {
204+
isDecs = true;
205+
}
206+
if isOrder && isDecs {
207+
return false;
208+
}
209+
}
210+
true
211+
}
212+
}
213+
```
214+
167215
### **...**
168216

169217
```

solution/0800-0899/0896.Monotonic Array/README_EN.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,54 @@ var isMonotonic = function (nums) {
144144
};
145145
```
146146

147+
### **TypeScript**
148+
149+
```ts
150+
function isMonotonic(nums: number[]): boolean {
151+
const n = nums.length;
152+
let isOrder = false;
153+
let isDecs = false;
154+
for (let i = 1; i < n; i++) {
155+
const pre = nums[i - 1];
156+
const cur = nums[i];
157+
if (pre < cur) {
158+
isOrder = true;
159+
} else if (pre > cur) {
160+
isDecs = true;
161+
}
162+
if (isOrder && isDecs) {
163+
return false;
164+
}
165+
}
166+
return true;
167+
}
168+
```
169+
170+
### **Rust**
171+
172+
```rust
173+
impl Solution {
174+
pub fn is_monotonic(nums: Vec<i32>) -> bool {
175+
let n = nums.len();
176+
let mut isOrder = false;
177+
let mut isDecs = false;
178+
for i in 1..n {
179+
let pre = nums[i - 1];
180+
let cur = nums[i];
181+
if pre < cur {
182+
isOrder = true;
183+
} else if pre > cur {
184+
isDecs = true;
185+
}
186+
if isOrder && isDecs {
187+
return false;
188+
}
189+
}
190+
true
191+
}
192+
}
193+
```
194+
147195
### **...**
148196

149197
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
impl Solution {
2+
pub fn is_monotonic(nums: Vec<i32>) -> bool {
3+
let n = nums.len();
4+
let mut isOrder = false;
5+
let mut isDecs = false;
6+
for i in 1..n {
7+
let pre = nums[i - 1];
8+
let cur = nums[i];
9+
if pre < cur {
10+
isOrder = true;
11+
} else if pre > cur {
12+
isDecs = true;
13+
}
14+
if isOrder && isDecs {
15+
return false;
16+
}
17+
}
18+
true
19+
}
20+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
function isMonotonic(nums: number[]): boolean {
2+
const n = nums.length;
3+
let isOrder = false;
4+
let isDecs = false;
5+
for (let i = 1; i < n; i++) {
6+
const pre = nums[i - 1];
7+
const cur = nums[i];
8+
if (pre < cur) {
9+
isOrder = true;
10+
} else if (pre > cur) {
11+
isDecs = true;
12+
}
13+
if (isOrder && isDecs) {
14+
return false;
15+
}
16+
}
17+
return true;
18+
}

0 commit comments

Comments
 (0)