首页 > 其他分享 >leetcode 1909. 删除一个元素使数组严格递增

leetcode 1909. 删除一个元素使数组严格递增

时间:2024-11-30 11:43:48浏览次数:6  
标签:return nums 递增 1909 false isDown true leetcode size

1909. 删除一个元素使数组严格递增

题解的做法都太复杂了,我的可能好理解一些

class Solution {
public:
    bool canBeIncreasing(vector<int>& nums) {
        int size = nums.size();
        if(size == 2)  return true;
        bool isDown = false;//isDown表示是否出现过一次nums[i-1] >= nums[i]的下降
        if(nums[0] >= nums[1])  isDown = true;
        //考虑几种特殊情况,比如8 9 1 2;  1 2 0 3 4;  1 2 9 3 4
        for(int i = 2;i < size-1;i++){
            if(nums[i-1] >= nums[i]){
                if(isDown == true)  return false;//如果出现了两次下降,说明删除一个元素无法保证严格单增
                if(nums[i-2] >= nums[i] && nums[i-1] >= nums[i+1])  return false;//前面防类似8 9 1 2,后面防1 2 0 3 4
                isDown = true;
            }
        }
        if(nums[size-2] >= nums[size-1] && isDown == true)  return false;
        return true;  
    }
};

 

标签:return,nums,递增,1909,false,isDown,true,leetcode,size
From: https://www.cnblogs.com/uacs2024/p/18578227

相关文章

  • 代码随想录算法训练营第三十一天|leetcode56. 合并区间、leetcode738.单调递增的数字
    1leetcode56.合并区间题目链接:56.合并区间-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法,合并区间有细节!LeetCode:56.合并区间_哔哩哔哩_bilibili思路:其实很清楚,跟之前的方法差不多,但是自己写的时候就是有地方不会了,会不知道接下来的思路是什么1.1视频后的思路卡壳......
  • 代码随想录算法训练营第三十天|leetcode452. 用最少数量的箭引爆气球、leetcode435.
    1leetcode452.用最少数量的箭引爆气球题目链接:452.用最少数量的箭引爆气球-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法,判断重叠区间问题|LeetCode:452.用最少数量的箭引爆气球_哔哩哔哩_bilibili思路:有方法了,但是呢不知道怎么往后写,就是先找到对起始位置按照从小......
  • 最长递增子序列的个数 - 中等难度
    *************C++TOPIC:673.最长递增子序列的个数-力扣(LeetCode)*************先看题目:中等困难,之前做的是最长递增子序列,跟这个很像,先来复习一下找一下思路://这个逻辑比较的简单//就是说我直接定义dp数组,代表第i位最长递增数列的个数//遍历每一个元素//找到最......
  • 代码随想录算法训练营第二十九天| leetcode134. 加油站、leetcode135.分发糖果、leetc
    1leetcode134.加油站题目链接:134.加油站-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法,得这么加油才能跑完全程!LeetCode:134.加油站_哔哩哔哩_bilibili思路:其实这道题我有思路了,但是不知道怎么写,感觉太暴力了,就是找到花费最小的那个位置且汽油足够往下走的地方,开始走,......
  • LeetCode—15. 三数之和(中等)
    仅供个人学习使用题目描述:给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。......
  • LeetCode2058. 找出临界点之间的最小和最大距离
    本题,有一定难度,但不大(我设了个全局变量,被坑了题目:本题要我们求出两个极值点最大距离以及最小距离,如果不存在则返回[-1,-1]不难看出,最小距离只会在相邻两个极值点取得,最大值则是一头一尾,这也启发我们要设置变量,用来记录头尾极值点的位置,以及两个相邻极值点的距离代码如......
  • 代码随想录算法训练营第二十八天| leetcode122.买卖股票的最佳时机 II、leetcode55.
    1leetcode122.买卖股票的最佳时机II题目链接:122.买卖股票的最佳时机II-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机II_哔哩哔哩_bilibili思路:自己不知道怎么写出来的一道题目,就觉得理解上面就是找到了方法,但是后面再......
  • LeetCode - #146 LRU 缓存(Top 100)
    文章目录前言1.描述2.示例3.答案关于我们前言本题为LeetCode前100高频题我们社区陆续会将顾毅(Netflix增长黑客,《iOS面试之道》作者,ACE职业健身教练。)的Swift算法题题解整理为文字版以方便大家学习与阅读。LeetCode算法到目前我们已经更新到145期......
  • leetcode1109. 航班预订统计
    1109.航班预订统计这道题使用暴力解法,如果数据比较多,first和second跨度比较大时会超时。比如下面这个暴力解:classSolution{public:vector<int>corpFlightBookings(vector<vector<int>>&bookings,intn){vector<int>res(n,0);intsize=boo......
  • Qt CDB 调试器 版本 10.0.18362 - 针对Win10 1909
    https://blog.csdn.net/gitblog_09702/article/details/143015214 QtCDB调试器版本10.0.18362-针对Win101909【下载地址】QtCDB调试器版本10.0.18362-针对Win101909QtCDB调试器版本10.0.18362-针对Win101909项目地址:https://gitcode.com/open-source-toolkit......