leetcode:665. 非递减数列(简单,其实不简单,数组)

題目:

在这里插入图片描述

分析:

问题可以转化为去掉一个元素之后,是否可以转化为非递减数列。

代碼1:我认为

不满足:

if(nums[i]<=nums[i+1])

的个数小于等于1就可以啦。
非也。
在这里插入图片描述

这个简单其实不简单。:

无非两种情况。

在这里插入图片描述

可以依据上面的判断写代码。

题解:直接归纳为i-1和i+1的关系。

class Solution {
public:bool checkPossibility(vector<int> &nums) {int n = nums.size(), cnt = 0;for (int i = 0; i < n - 1; ++i) {int x = nums[i], y = nums[i + 1];if (x > y) {cnt++;if (cnt > 1) {return false;}if (i > 0 && y < nums[i - 1]) {nums[i + 1] = x;}}}return true;}
};作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/non-decreasing-array/solution/fei-di-jian-shu-lie-by-leetcode-solution-zdsm/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部