題目:
分析:
问题可以转化为去掉一个元素之后,是否可以转化为非递减数列。
代碼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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。