华为题:最多可以参加的会议数目

给定一个会议时间数组 intervals,其中 intervals[i] = [start_i, end_i] 表示第 i 个会议的开始时间和结束时间。

你可以在任意时间参加一个会议,但同一时间只能参加一个会议。会议一旦开始,你就必须全程参加。

请输出最多可以参加的会议数目。

输入描述

第一行输入一个整数 n,表示会议数量。

接下来 n 行,每行输入两个整数 start 和 end,表示会议的开始和结束时间。

输出描述

输出最多可以参加的会议数目。

示例 1

输入

text

复制代码
4
1 3
2 4
3 5
4 6

输出

text

复制代码
2

C++ 解法

cpp

复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;

    vector<pair<int,int>> meetings(n);
    for (int i = 0; i < n; i++) {
        cin >> meetings[i].first >> meetings[i].second;
    }

    sort(meetings.begin(), meetings.end(), [](auto& a, auto& b) {
        return a.second < b.second;
    });

    int ans = 0;
    int lastEnd = INT_MIN;

    for (auto& m : meetings) {
        if (m.first > lastEnd) {
            ans++;
            lastEnd = m.second;
        }
    }

    cout << ans << endl;
    return 0;
}
相关推荐
Tongzhi202640 分钟前
2026 年考勤行业趋势:考勤正在从“打卡工具“变成“人力成本中枢“
大数据·数据结构·数据仓库·科技·数据库开发
Matlab程序猿44 分钟前
【MATLAB源码-第460期】基于matlab的OTFS通信系统SLM峰均比抑制及非线性功率放大器失真与误码性能仿真
开发语言·算法·matlab·slm·otfs
xiangyun611 小时前
C++ list 模拟实现(一):手撕双向链表,从节点到迭代器
数据库·c++·算法·链表·stl·list
码爸9 小时前
线性回归算法
算法·机器学习·线性回归
Coder-magician10 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
Nil20810 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b10 小时前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
别动我齐刘海10 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
程序员老陆10 小时前
C++ std::promise深度解析
c++·程序设计