首页 > 其他分享 >435. 无重叠区间

435. 无重叠区间

时间:2023-05-09 14:36:51浏览次数:40  
标签:return 重叠 int intervals lhs 移除 区间 435

给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。


输入: intervals = [[1,2],[2,3],[3,4],[1,3]]
输出: 1
解释: 移除 [1,3] 后,剩下的区间没有重叠。

我的解法

解法思路与最少数量的箭引爆气球相同,先将集合按左元素排序,然后遍历的时候,每当有重叠就增加移除区间的数量,并且更新移除后当前区间的右值


class Solution {
public:
    int eraseOverlapIntervals(vector<vector<int>>& intervals) {
        int len = intervals.size();
        if(len == 1) return 0;
        int res = 0;
        sort(intervals.begin(),intervals.end(),
        [](auto &lhs,auto &rhs)->bool
        {
            if(lhs[0] != rhs[0]){
                return lhs[0] < rhs[0];
            }
            else{
                return lhs[1] < rhs[1];
            }          
        });
        for(int i = 1; i < intervals.size();i++){
            if(intervals[i][0] < intervals[i-1][1]){
                res++;
                intervals[i][1] = min(intervals[i-1][1],intervals[i][1]);
            }
        }
        return res;
    }
};

标签:return,重叠,int,intervals,lhs,移除,区间,435
From: https://www.cnblogs.com/lihaoxiang/p/17384920.html

相关文章

  • css 文字内容过长和下一个信息项重叠解决办法(uniapp)
    1.把固定高度注释掉,自动调整高度.cardBox{ padding:20rpx30rpx; .item{ //width:calc(100%-40rpx); //height:398rpx; padding:10rpx20rpx0rpx; margin-bottom:25rpx; border-radius:8rpx; box-shadow:0rpx4rpx16rpx2rpx#BDC0C6; background:......
  • realsense d435i获取imu数据
      #!/usr/bin/pythonfrom__future__importprint_functionimportnumpyasnpimportsysimportjsonimportctypesimportosimportbinasciiimportstructimportpyrealsense2asrsimportctypesimporttimeimportenumimportthreading#L515READ_TABL......
  • realsense d435i获取相机姿态数据
    获取RealSenseD435i相机的姿态数据:安装RealSenseSDK2.0:您可以从官方网站(https://www.realsense.com/)下载并操使用RealSenseSDK,也可以现有帐RealSenseSDK.html连接相机:将RealSenseD435i相机连接到计算机,并确保相机的USB接口已正确连接。打开RealSenseViewer:启动......
  • BM2 链表内指定区间反转
    描述将一个节点数为size链表m 位置到 n位置之间的区间反转,要求时间复杂度 O(n),空间复杂度 O(1)。例如:给出的链表为 1→2→3→4→5→NULL, m=2,n=4,返回 1→4→3→2→5→NULL. 数据范围: 链表长度 0<size≤1000,0<m≤n≤size,链表中每个节点的值满足 ∣val∣≤10......
  • LeetCode 双周赛 103(2023/04/29)区间求和的树状数组经典应用
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。这场周赛是LeetCode双周赛第103场,难得在五一假期第一天打周赛的人数也没有少太多。这场比赛前3题比较简单,我们把篇幅留给最后一题。往期周赛回顾:LeetCode单周赛第342场·容......
  • NC15557 连续区间的最大公约数
    题目链接题目题目描述给一个数列共n(n<=100,000)个数,a1,a2,...,an.(0<=ai<=1000,000,000).有q(q<=100,000)个询问。每个询问为l,r(1<=l<=r<=n).求gcd(al,al+1,...,ar).再求区间[l,r]的子区间中(l<=l'<=r'<=r)满足gcd(al,al+1,...,ar)=gcd(al',al'+1,...ar�......
  • 2023-05-03 线性模型与区间DP
    线性模型与区间DP1线性模型基本概念这里的线性是指状态的排布是线性的线性模型是动态规划中最常用的模型一般的代码模型是:for(inti=0;i<n;i++){for(j=0;j<i;j++){//Todo:更新dp的具体逻辑}}最典型的一个例题:最长上升子序列见第......
  • 链表内指定区间反转
    描述将一个节点数为size链表m 位置到 n位置之间的区间反转,要求时间复杂度 O(n),空间复杂度 O(1)。例如:给出的链表为 1→2→3→4→5→NULL, m=2,n=4,返回 1→4→3→2→5→NULL.数据范围: 链表长度 0<size≤1000,0<m≤n≤size,链表中每个节点的值满足∣val∣≤1000要......
  • 2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一
    2023-05-02:如果一个正整数每一个数位都是互不相同的,我们称它是特殊整数。给你一个正整数n,请你返回区间[1,n]之间特殊整数的数目。输入:n=20。输出:19。答案2023-05-02:可以通过数字组合和状态压缩的动态规划算法来解决。具体过程如下:1.对于给定的正整数n,求出其位数......
  • 区间不同数的个数 二维数点 扫描线 可持久化线段树
    二维数点,对于询问的\([l,r]\)区间我们只需要统计有多少个数上一次出现的位置\(pos\)满足\(pos\leql\),即可。template<classT>structBIT{Tc[N];intsize;voidresize(ints){size=s;}Tquery(intx){//1...xassert(x<=size);......