From 82fe5c0af501a2ccb5e0a629bfd25c1bbf87461e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BD=A9=E8=BE=95=E9=BE=99=E5=84=BF?= Date: Fri, 24 Dec 2021 10:32:44 +0800 Subject: [PATCH] =?UTF-8?q?1909:=E5=88=A0=E9=99=A4=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E4=BD=BF=E6=95=B0=E7=BB=84=E4=B8=A5=E6=A0=BC?= =?UTF-8?q?=E9=80=92=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ementToMakeTheArrayStrictlyIncreasing.java | 87 +++++++++++++++++++ ...ElementToMakeTheArrayStrictlyIncreasing.md | 49 +++++++++++ 2 files changed, 136 insertions(+) create mode 100644 src/main/java/leetcode/editor/cn/RemoveOneElementToMakeTheArrayStrictlyIncreasing.java create mode 100644 src/main/java/leetcode/editor/cn/doc/content/RemoveOneElementToMakeTheArrayStrictlyIncreasing.md diff --git a/src/main/java/leetcode/editor/cn/RemoveOneElementToMakeTheArrayStrictlyIncreasing.java b/src/main/java/leetcode/editor/cn/RemoveOneElementToMakeTheArrayStrictlyIncreasing.java new file mode 100644 index 0000000..636b6c0 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/RemoveOneElementToMakeTheArrayStrictlyIncreasing.java @@ -0,0 +1,87 @@ +//给你一个下标从 0 开始的整数数组 nums ,如果 恰好 删除 一个 元素后,数组 严格递增 ,那么请你返回 true ,否则返回 false 。如果数组 +//本身已经是严格递增的,请你也返回 true 。 +// +// 数组 nums 是 严格递增 的定义为:对于任意下标的 1 <= i < nums.length 都满足 nums[i - 1] < nums[i] 。 +// +// +// +// +// 示例 1: +// +// 输入:nums = [1,2,10,5,7] +//输出:true +//解释:从 nums 中删除下标 2 处的 10 ,得到 [1,2,5,7] 。 +//[1,2,5,7] 是严格递增的,所以返回 true 。 +// +// +// 示例 2: +// +// 输入:nums = [2,3,1,2] +//输出:false +//解释: +//[3,1,2] 是删除下标 0 处元素后得到的结果。 +//[2,1,2] 是删除下标 1 处元素后得到的结果。 +//[2,3,2] 是删除下标 2 处元素后得到的结果。 +//[2,3,1] 是删除下标 3 处元素后得到的结果。 +//没有任何结果数组是严格递增的,所以返回 false 。 +// +// 示例 3: +// +// 输入:nums = [1,1,1] +//输出:false +//解释:删除任意元素后的结果都是 [1,1] 。 +//[1,1] 不是严格递增的,所以返回 false 。 +// +// +// 示例 4: +// +// 输入:nums = [1,2,3] +//输出:true +//解释:[1,2,3] 已经是严格递增的,所以返回 true 。 +// +// +// +// +// 提示: +// +// +// 2 <= nums.length <= 1000 +// 1 <= nums[i] <= 1000 +// +// Related Topics 数组 👍 21 👎 0 + +package leetcode.editor.cn; + +//Java:1909:删除一个元素使数组严格递增 +public class RemoveOneElementToMakeTheArrayStrictlyIncreasing { + public static void main(String[] args) { + Solution solution = new RemoveOneElementToMakeTheArrayStrictlyIncreasing().new Solution(); + // TO TEST + } + + //leetcode submit region begin(Prohibit modification and deletion) + class Solution { + public boolean canBeIncreasing(int[] nums) { + boolean bl = true; + int n = nums.length; + for (int i = 0; i < n - 1; i++) { + if (nums[i] >= nums[i + 1]) { + if (bl) { + if (i - 1 < 0 || nums[i + 1] > nums[i - 1]) { + bl = false; + } else if (i + 2 >= n || nums[i + 2] > nums[i]) { + bl = false; + } else { + return false; + } + } else { + return false; + } + } + } + return true; + } + } +//leetcode submit region end(Prohibit modification and deletion) + +} diff --git a/src/main/java/leetcode/editor/cn/doc/content/RemoveOneElementToMakeTheArrayStrictlyIncreasing.md b/src/main/java/leetcode/editor/cn/doc/content/RemoveOneElementToMakeTheArrayStrictlyIncreasing.md new file mode 100644 index 0000000..bc7e678 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/doc/content/RemoveOneElementToMakeTheArrayStrictlyIncreasing.md @@ -0,0 +1,49 @@ +

给你一个下标从 0 开始的整数数组 nums ,如果 恰好 删除 一个 元素后,数组 严格递增 ,那么请你返回 true ,否则返回 false 。如果数组本身已经是严格递增的,请你也返回 true 。

+ +

数组 nums 是 严格递增 的定义为:对于任意下标的 1 <= i < nums.length 都满足 nums[i - 1] < nums[i] 。

+ +

 

+ +

示例 1:

+ +
输入:nums = [1,2,10,5,7]
+输出:true
+解释:从 nums 中删除下标 2 处的 10 ,得到 [1,2,5,7] 。
+[1,2,5,7] 是严格递增的,所以返回 true 。
+
+ +

示例 2:

+ +
输入:nums = [2,3,1,2]
+输出:false
+解释:
+[3,1,2] 是删除下标 0 处元素后得到的结果。
+[2,1,2] 是删除下标 1 处元素后得到的结果。
+[2,3,2] 是删除下标 2 处元素后得到的结果。
+[2,3,1] 是删除下标 3 处元素后得到的结果。
+没有任何结果数组是严格递增的,所以返回 false 。
+ +

示例 3:

+ +
输入:nums = [1,1,1]
+输出:false
+解释:删除任意元素后的结果都是 [1,1] 。
+[1,1] 不是严格递增的,所以返回 false 。
+
+ +

示例 4:

+ +
输入:nums = [1,2,3]
+输出:true
+解释:[1,2,3] 已经是严格递增的,所以返回 true 。
+
+ +

 

+ +

提示:

+ + +
Related Topics
  • 数组

  • 👍 21
  • 👎 0
  • \ No newline at end of file