Skip to content

feat: update solutions to lc problem: No.0896 #801

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 43 additions & 43 deletions solution/0800-0899/0896.Monotonic Array/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@

遍历数组:

- 出现递减,将 `incr` 置为 `false`;
- 出现递增,将 `decr` 置为 `false`;
- 既非递增也非递减,提前返回 `false`;
- 遍历结束,若出现递增或递减,返回 `true`。
- 出现递增,将 `isIncr` 置为 `true`;
- 出现递减,将 `isDecr` 置为 `true`;
- 既是递增也是递减,提前返回 `false`;
- 正常遍历结束,返回 `true`。

<!-- tabs:start -->

Expand All @@ -67,15 +67,15 @@
```python
class Solution:
def isMonotonic(self, nums: List[int]) -> bool:
incr = decr = True
isIncr = isDecr = False
for i, v in enumerate(nums[1:]):
if not incr and not decr:
return False
if v < nums[i]:
incr = False
isIncr = True
elif v > nums[i]:
decr = False
return incr or decr
isDecr = True
if isIncr and isDecr:
return False
return True
```

### **Java**
Expand All @@ -85,18 +85,18 @@ class Solution:
```java
class Solution {
public boolean isMonotonic(int[] nums) {
boolean incr = true, decr = true;
boolean isIncr = false, isDecr = false;
for (int i = 1; i < nums.length; ++i) {
if (!incr && !decr) {
return false;
}
if (nums[i] < nums[i - 1]) {
incr = false;
isIncr = true;
} else if (nums[i] > nums[i - 1]) {
decr = false;
isDecr = true;
}
if (isIncr && isDecr) {
return false;
}
}
return incr || decr;
return true;
}
}
```
Expand All @@ -107,15 +107,15 @@ class Solution {
class Solution {
public:
bool isMonotonic(vector<int>& nums) {
bool incr = true;
bool decr = true;
bool isIncr = false;
bool isDecr = false;
for (int i = 1; i < nums.size(); ++i)
{
if (!incr && !decr) return false;
if (nums[i] < nums[i - 1]) incr = false;
if (nums[i] > nums[i - 1]) decr = false;
if (nums[i] < nums[i - 1]) isIncr = true;
if (nums[i] > nums[i - 1]) isDecr = true;
if (isIncr && isDecr) return false;
}
return incr || decr;
return true;
}
};
```
Expand All @@ -124,18 +124,18 @@ public:

```go
func isMonotonic(nums []int) bool {
incr, decr := true, true
isIncr, isDecr := false, false
for i, v := range nums[1:] {
if !incr && !decr {
return false
}
if v < nums[i] {
incr = false
isIncr = true
} else if v > nums[i] {
decr = false
isDecr = true
}
if isIncr && isDecr {
return false
}
}
return incr || decr
return true
}
```

Expand All @@ -147,20 +147,20 @@ func isMonotonic(nums []int) bool {
* @return {boolean}
*/
var isMonotonic = function (nums) {
let incr = true;
let decr = true;
let isIncr = false;
let isDecr = false;
for (let i = 1; i < nums.length; ++i) {
if (!incr && !decr) {
return false;
}
if (nums[i] < nums[i - 1]) {
incr = false;
isIncr = true;
}
if (nums[i] > nums[i - 1]) {
decr = false;
isDecr = true;
}
if (isIncr && isDecr) {
return false;
}
}
return incr || decr;
return true;
};
```

Expand Down Expand Up @@ -193,17 +193,17 @@ function isMonotonic(nums: number[]): boolean {
impl Solution {
pub fn is_monotonic(nums: Vec<i32>) -> bool {
let n = nums.len();
let mut isOrder = false;
let mut isDecs = false;
let mut is_order = false;
let mut is_decs = false;
for i in 1..n {
let pre = nums[i - 1];
let cur = nums[i];
if pre < cur {
isOrder = true;
is_order = true;
} else if pre > cur {
isDecs = true;
is_decs = true;
}
if isOrder && isDecs {
if is_order && is_decs {
return false;
}
}
Expand Down
78 changes: 39 additions & 39 deletions solution/0800-0899/0896.Monotonic Array/README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,34 +49,34 @@
```python
class Solution:
def isMonotonic(self, nums: List[int]) -> bool:
incr = decr = True
isIncr = isDecr = False
for i, v in enumerate(nums[1:]):
if not incr and not decr:
return False
if v < nums[i]:
incr = False
isIncr = True
elif v > nums[i]:
decr = False
return incr or decr
isDecr = True
if isIncr and isDecr:
return False
return True
```

### **Java**

```java
class Solution {
public boolean isMonotonic(int[] nums) {
boolean incr = true, decr = true;
boolean isIncr = false, isDecr = false;
for (int i = 1; i < nums.length; ++i) {
if (!incr && !decr) {
return false;
}
if (nums[i] < nums[i - 1]) {
incr = false;
isIncr = true;
} else if (nums[i] > nums[i - 1]) {
decr = false;
isDecr = true;
}
if (isIncr && isDecr) {
return false;
}
}
return incr || decr;
return true;
}
}
```
Expand All @@ -87,15 +87,15 @@ class Solution {
class Solution {
public:
bool isMonotonic(vector<int>& nums) {
bool incr = true;
bool decr = true;
bool isIncr = false;
bool isDecr = false;
for (int i = 1; i < nums.size(); ++i)
{
if (!incr && !decr) return false;
if (nums[i] < nums[i - 1]) incr = false;
if (nums[i] > nums[i - 1]) decr = false;
if (nums[i] < nums[i - 1]) isIncr = true;
if (nums[i] > nums[i - 1]) isDecr = true;
if (isIncr && isDecr) return false;
}
return incr || decr;
return true;
}
};
```
Expand All @@ -104,18 +104,18 @@ public:

```go
func isMonotonic(nums []int) bool {
incr, decr := true, true
isIncr, isDecr := false, false
for i, v := range nums[1:] {
if !incr && !decr {
return false
}
if v < nums[i] {
incr = false
isIncr = true
} else if v > nums[i] {
decr = false
isDecr = true
}
if isIncr && isDecr {
return false
}
}
return incr || decr
return true
}
```

Expand All @@ -127,20 +127,20 @@ func isMonotonic(nums []int) bool {
* @return {boolean}
*/
var isMonotonic = function (nums) {
let incr = true;
let decr = true;
let isIncr = false;
let isDecr = false;
for (let i = 1; i < nums.length; ++i) {
if (!incr && !decr) {
return false;
}
if (nums[i] < nums[i - 1]) {
incr = false;
isIncr = true;
}
if (nums[i] > nums[i - 1]) {
decr = false;
isDecr = true;
}
if (isIncr && isDecr) {
return false;
}
}
return incr || decr;
return true;
};
```

Expand Down Expand Up @@ -173,17 +173,17 @@ function isMonotonic(nums: number[]): boolean {
impl Solution {
pub fn is_monotonic(nums: Vec<i32>) -> bool {
let n = nums.len();
let mut isOrder = false;
let mut isDecs = false;
let mut is_order = false;
let mut is_decs = false;
for i in 1..n {
let pre = nums[i - 1];
let cur = nums[i];
if pre < cur {
isOrder = true;
is_order = true;
} else if pre > cur {
isDecs = true;
is_decs = true;
}
if isOrder && isDecs {
if is_order && is_decs {
return false;
}
}
Expand Down
12 changes: 6 additions & 6 deletions solution/0800-0899/0896.Monotonic Array/Solution.cpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
class Solution {
public:
bool isMonotonic(vector<int>& nums) {
bool incr = true;
bool decr = true;
bool isIncr = false;
bool isDecr = false;
for (int i = 1; i < nums.size(); ++i)
{
if (!incr && !decr) return false;
if (nums[i] < nums[i - 1]) incr = false;
if (nums[i] > nums[i - 1]) decr = false;
if (nums[i] < nums[i - 1]) isIncr = true;
if (nums[i] > nums[i - 1]) isDecr = true;
if (isIncr && isDecr) return false;
}
return incr || decr;
return true;
}
};
14 changes: 7 additions & 7 deletions solution/0800-0899/0896.Monotonic Array/Solution.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
func isMonotonic(nums []int) bool {
incr, decr := true, true
isIncr, isDecr := false, false
for i, v := range nums[1:] {
if !incr && !decr {
return false
}
if v < nums[i] {
incr = false
isIncr = true
} else if v > nums[i] {
decr = false
isDecr = true
}
if isIncr && isDecr {
return false
}
}
return incr || decr
return true
}
14 changes: 7 additions & 7 deletions solution/0800-0899/0896.Monotonic Array/Solution.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
class Solution {
public boolean isMonotonic(int[] nums) {
boolean incr = true, decr = true;
boolean isIncr = false, isDecr = false;
for (int i = 1; i < nums.length; ++i) {
if (!incr && !decr) {
return false;
}
if (nums[i] < nums[i - 1]) {
incr = false;
isIncr = true;
} else if (nums[i] > nums[i - 1]) {
decr = false;
isDecr = true;
}
if (isIncr && isDecr) {
return false;
}
}
return incr || decr;
return true;
}
}
Loading