diff --git a/solution/0800-0899/0896.Monotonic Array/README.md b/solution/0800-0899/0896.Monotonic Array/README.md index ae7a29e6ebb2f..90d8b2331221a 100644 --- a/solution/0800-0899/0896.Monotonic Array/README.md +++ b/solution/0800-0899/0896.Monotonic Array/README.md @@ -53,10 +53,10 @@ 遍历数组: -- 出现递减,将 `incr` 置为 `false`; -- 出现递增,将 `decr` 置为 `false`; -- 既非递增也非递减,提前返回 `false`; -- 遍历结束,若出现递增或递减,返回 `true`。 +- 出现递增,将 `isIncr` 置为 `true`; +- 出现递减,将 `isDecr` 置为 `true`; +- 既是递增也是递减,提前返回 `false`; +- 正常遍历结束,返回 `true`。 @@ -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** @@ -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; } } ``` @@ -107,15 +107,15 @@ class Solution { class Solution { public: bool isMonotonic(vector& 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; } }; ``` @@ -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 } ``` @@ -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; }; ``` @@ -193,17 +193,17 @@ function isMonotonic(nums: number[]): boolean { impl Solution { pub fn is_monotonic(nums: Vec) -> 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; } } diff --git a/solution/0800-0899/0896.Monotonic Array/README_EN.md b/solution/0800-0899/0896.Monotonic Array/README_EN.md index ae1d1a3dd142f..ad6b8de0a63a4 100644 --- a/solution/0800-0899/0896.Monotonic Array/README_EN.md +++ b/solution/0800-0899/0896.Monotonic Array/README_EN.md @@ -49,15 +49,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** @@ -65,18 +65,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; } } ``` @@ -87,15 +87,15 @@ class Solution { class Solution { public: bool isMonotonic(vector& 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; } }; ``` @@ -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 } ``` @@ -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; }; ``` @@ -173,17 +173,17 @@ function isMonotonic(nums: number[]): boolean { impl Solution { pub fn is_monotonic(nums: Vec) -> 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; } } diff --git a/solution/0800-0899/0896.Monotonic Array/Solution.cpp b/solution/0800-0899/0896.Monotonic Array/Solution.cpp index a281294e99a0d..aeb45985197b5 100644 --- a/solution/0800-0899/0896.Monotonic Array/Solution.cpp +++ b/solution/0800-0899/0896.Monotonic Array/Solution.cpp @@ -1,14 +1,14 @@ class Solution { public: bool isMonotonic(vector& 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; } }; \ No newline at end of file diff --git a/solution/0800-0899/0896.Monotonic Array/Solution.go b/solution/0800-0899/0896.Monotonic Array/Solution.go index d7289c57fbe0f..08f8be14c6ea1 100644 --- a/solution/0800-0899/0896.Monotonic Array/Solution.go +++ b/solution/0800-0899/0896.Monotonic Array/Solution.go @@ -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 } \ No newline at end of file diff --git a/solution/0800-0899/0896.Monotonic Array/Solution.java b/solution/0800-0899/0896.Monotonic Array/Solution.java index fdcb6482fe8af..2c08033ec8b45 100644 --- a/solution/0800-0899/0896.Monotonic Array/Solution.java +++ b/solution/0800-0899/0896.Monotonic Array/Solution.java @@ -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; } } \ No newline at end of file diff --git a/solution/0800-0899/0896.Monotonic Array/Solution.js b/solution/0800-0899/0896.Monotonic Array/Solution.js index 1b2ef50ffffd9..ee682b09211a0 100644 --- a/solution/0800-0899/0896.Monotonic Array/Solution.js +++ b/solution/0800-0899/0896.Monotonic Array/Solution.js @@ -3,18 +3,18 @@ * @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; }; diff --git a/solution/0800-0899/0896.Monotonic Array/Solution.py b/solution/0800-0899/0896.Monotonic Array/Solution.py index 1e26700e7b476..f08ec227e0d72 100644 --- a/solution/0800-0899/0896.Monotonic Array/Solution.py +++ b/solution/0800-0899/0896.Monotonic Array/Solution.py @@ -1,11 +1,11 @@ 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 diff --git a/solution/0800-0899/0896.Monotonic Array/Solution.rs b/solution/0800-0899/0896.Monotonic Array/Solution.rs index ca284bef0382b..a4fded4d5684c 100644 --- a/solution/0800-0899/0896.Monotonic Array/Solution.rs +++ b/solution/0800-0899/0896.Monotonic Array/Solution.rs @@ -1,17 +1,17 @@ impl Solution { pub fn is_monotonic(nums: Vec) -> 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; } }