代码随想录打卡day23:435.无重叠区间

题目链接:435. 无重叠区间 - 力扣(LeetCode)

这道题和上一道射箭的题类似,都是求公共区间问题。上一题是一直求公共区间,求到没交集的就次数+1然后更新区间。

这道题是求到有交集的,res+1并更新当前区间,如果下一个区间依旧和更新后的区间有交集,那么res+1并再次更新区间。新区间更新的条件以最小右边界来更新,如果达不到最小右边界那么就是没交集,继续遍历即可,如果当前区间左边界小于更新后的最小右边界,那么证明三个区间有交集,res+1并再次更新最小右边界然后与下一个区间判断。

代码如下:

cpp 复制代码
class Solution {
public:
    int eraseOverlapIntervals(vector<vector<int>>& intervals) {
        int res=0;
        sort(intervals.begin(),intervals.end(),
        [](const vector<int>&cur,const vector<int>nxt){
            return cur[0]<nxt[0];
        });
        for(int i=1;i<intervals.size();++i){
            if(intervals[i-1][1]<=intervals[i][0]) continue;

            else{
                ++res;
                intervals[i][1]=min(intervals[i-1][1],intervals[i][1]);
            }
        }
        return res;
    }
};
相关推荐
一个不知名程序员www16 小时前
算法学习入门---vector(C++)
c++·算法
云飞云共享云桌面16 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张16 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
橘颂TA16 小时前
【剑斩OFFER】算法的暴力美学——两整数之和
算法·leetcode·职场和发展
xxxxxxllllllshi17 小时前
【LeetCode Hot100----14-贪心算法(01-05),包含多种方法,详细思路与代码,让你一篇文章看懂所有!】
java·数据结构·算法·leetcode·贪心算法
前端小L17 小时前
图论专题(二十二):并查集的“逻辑审判”——判断「等式方程的可满足性」
算法·矩阵·深度优先·图论·宽度优先
铁手飞鹰17 小时前
二叉树(C语言,手撕)
c语言·数据结构·算法·二叉树·深度优先·广度优先
专业抄代码选手18 小时前
【Leetcode】1930. 长度为 3 的不同回文子序列
javascript·算法·面试
[J] 一坚19 小时前
深入浅出理解冒泡、插入排序和归并、快速排序递归调用过程
c语言·数据结构·算法·排序算法
czlczl2002092519 小时前
算法:二叉搜索树的最近公共祖先
算法