本文主要是介绍LeetCode665.非递减数列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LeetCode刷题记录 |
文章目录
- 📜题目描述
- 💡解题思路
- ⌨C++代码
📜题目描述
给你一个长度为
n
的整数数组nums
,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中任意的i
(0 <= i <= n-2)
,总满足nums[i] <= nums[i + 1]
。
示例1
输入: nums = [4,2,3]
输出: true
解释: 你可以通过把第一个 4 变成 1 来使得它成为一个非递减数列。
示例2
输入: nums = [4,2,1]
输出: false
解释: 你不能在只改变一个元素的情况下将其变为非递减数列。
提示:
- n == nums.length
- 1 <= n <= 10^4
- -10^5 <= nums[i] <= 10^5
💡解题思路
- 定义一个count记录修改的次数
- 如果某一次
i
位置的元素 >i+1
位置的元素,就进行判断
改变一次count就++
最后判断count是否满足count <= 1
⌨C++代码
这篇关于LeetCode665.非递减数列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!