[C++][算法基础]最大不相交区间数量(贪心 + 区间问题2)

给定 𝑁 个闭区间 [𝑎𝑖,𝑏𝑖],请你在数轴上选择若干区间,使得选中的区间之间互不相交(包括端点)。

输出可选取区间的最大数量。

输入格式

第一行包含整数 𝑁,表示区间数。

接下来 𝑁 行,每行包含两个整数 𝑎𝑖,𝑏𝑖,表示一个区间的两个端点。

输出格式

输出一个整数,表示可选取区间的最大数量。

数据范围

1≤𝑁≤,

≤𝑎𝑖≤𝑏𝑖≤

输入样例:
复制代码
3
-1 1
2 4
3 5
输出样例:
复制代码
2

代码:

cpp 复制代码
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

const int N = 100010;
int n,l,r;
vector<pair<int,int>> Interval;

int main(){
    cin>>n;
    for(int i = 0;i < n;i ++){
        cin>>l>>r;
        Interval.push_back({r,l});
    }
    sort(Interval.begin(),Interval.end());
    int res = 0, RightEnd = -2e9;
    for(int i = 0;i < n;i ++){
        int left = Interval[i].second;
        int right = Interval[i].first;
        if(left > RightEnd){
            res ++;
            RightEnd = right;
        }
    }
    cout<<res<<endl;
    return 0;
}
相关推荐
.hopeful.5 分钟前
基于QT的仿QQ音乐播放器
开发语言·c++·qt
是店小二呀8 分钟前
【优选算法-二分查找】二分查找算法解析:如何通过二段性优化搜索效率
c++·算法
一条闲鱼_mytube23 分钟前
面试算法高频08-动态规划-03
算法·面试·动态规划
鑫—萍26 分钟前
C++——入门基础
c语言·开发语言·c++·学习·算法
溟洵30 分钟前
【C++ Qt】快速上手 显⽰类控件(Label、LCDNumber、ProcessBar、CalendarWidget)
开发语言·c++·qt
.格子衫.40 分钟前
013几何数学——算法备赛
算法
半青年2 小时前
单例模式:全局唯一性在软件设计中的艺术实践
java·c++·python·单例模式
说码解字2 小时前
C++ RAII
开发语言·c++
zl_dfq2 小时前
C++ 之 【list的简介、list 的构造函数、iterator、容量操作、元素访问、增删查改与迭代器失效】
数据结构·c++
喵先生!2 小时前
C++中析构函数
开发语言·c++