会议室II

给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间s1,e1,s2,e2]..](si<ei) ,为避免会议冲突,同时要考虑充分

利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。

示例1
输入: [[0,30],[5,10],[15,20]]
输出: 2

假设三个会议分别为ABC

0~30的时间段内开A会,那么这段时间A肯定占用一个会议室

510开B会,也占一个会议室,但是到10点就开完了。然后1520点开C会,又需要一个会议室。

在此期间,A会一直占用着一个会议室

也就是说这三个会议要正常开完,一共需要至少2个会议室

示例2
输入: [[7,10],[2,4]]
输出: 1

用一个会议室轮流开就行,因为两个会的时间没有交叉

思路

大的思路是,我们要找到时间重合的那些会议,重合的个数就是我们至少需要占用的会议室的数量

为此,我们需要将会议起始时间和结束时间取出来,然后遍历起始时间,同时与结束时间进行比较,如果结束时间大于起始时间,那么

#include <vector>
#include <algorithm> class Solution {
public:
int minMeetingRooms(std::vector<std::vector<int>>& intervals) {
vector<int> start(intervals.size());//取出开始和结束时间
vector<int> end(intervals.size());
for(int i = 0; i < intervals.size(); ++i){
start[i] = intervals[i][0];
end[i] = intervals[i][1];
}
int end_index = 0;
for(int i = 0; i < start.size(); ++i){//遍历start数组,比较开始时间和结束时间
if(end[end_index] > start[i]){//显然遍历两个数组不可能使用一个指针,所以还需要一个遍历来遍历end
res++;//结束时间比开始时间长,不管对应的是哪个会议,都需要占用一个会议室,因此计数++
}else{
end_index++;//否则移动end的指针,对比下一组开始时间和结束时间
}
}
return res;
}
};

【会员题】253. 会议室 II的更多相关文章

  1. 乘风破浪:LeetCode真题_040_Combination Sum II

    乘风破浪:LeetCode真题_040_Combination Sum II 一.前言 这次和上次的区别是元素不能重复使用了,这也简单,每一次去掉使用过的元素即可. 二.Combination Sum ...

  2. 【python】Leetcode每日一题-反转链表 II

    [python]Leetcode每日一题-反转链表 II [题目描述] 给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 ...

  3. [LeetCode] 253. Meeting Rooms II 会议室 II

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  4. [leetcode]253. Meeting Rooms II 会议室II

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  5. lintcode 中等题:permutations II 重复数据的全排列

    题目 带重复元素的排列 给出一个具有重复数字的列表,找出列表所有不同的排列. 样例 给出列表 [1,2,2],不同的排列有: [ [1,2,2], [2,1,2], [2,2,1] ] 挑战 使用递归 ...

  6. leetcode第39题--Combination Sum II

    题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combination ...

  7. [Swift]LeetCode253.会议室 II $ Meeting Rooms II

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  8. LeetCode算法题-Valid Palindrome II(Java实现)

    这是悦乐书的第287次更新,第304篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第155题(顺位题号是680).给定非空字符串s,最多可以删除一个字符. 判断它是否是回 ...

  9. LeetCode算法题-Range Addition II(Java实现)

    这是悦乐书的第271次更新,第285篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第138题(顺位题号是598).给定一个m行n列的新二维数组M,其初始值为0.提供一个二 ...

  10. LeetCode算法题-Reverse String II(Java实现)

    这是悦乐书的第256次更新,第269篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第123题(顺位题号是541).给定一个字符串和一个整数k,你需要反转从字符串开头算起的 ...

随机推荐

  1. [转帖]kill 参数表

    https://www.cnblogs.com/alix-1988/p/14331898.html kill命令格式:kill -Signal pidpid是进程号,可以用 ps 命令查出 signa ...

  2. Linux查看登录用户记录信息

    Linux查看登录用户记录信息 登录成功的信息 last 可以简单统计一下: last |awk '{print $3}' |sort |uniq -c |sort -k1nr 登录失败的 就是 la ...

  3. Chrome 历史版本下载点

    https://www.chromedownloads.net/chrome64win-stable/

  4. Codeforces round 919 (div2)

    Problem - A - Codeforces 暴力枚举 就可以: #include <bits/stdc++.h> #define int long long using namesp ...

  5. Redis数据倾斜与JD开源hotkey源码分析揭秘

    1 前言 之前旁边的小伙伴问我热点数据相关问题,在给他粗略地讲解一波redis数据倾斜的案例之后,自己也顺道回顾了一些关于热点数据处理的方法论,同时也想起去年所学习JD开源项目hotkey--专门用来 ...

  6. Windows 核心编程笔记 [2] 字符串

    1. ANSI 和 Unicode Windows 中涉及字符串的函数有两个版本 1)ANSI版本的函数会把字符串转换为Unicode形式,再从内部调用函数的Unicode版本 2)Unicode版本 ...

  7. ADB精简安卓系统:基础环境

    KMSID: 80999 是否同步到KM: 是 是否原创: 是 标签: 游戏开发 允许复制: 是 允许评论: 是 允许导出PDF: 是 职业库分类: 游戏-游戏程序 查看权限:网易正式员工-公开, 网 ...

  8. 多智能体强化学习算法【三】【QMIX、MADDPG、MAPPO】

    相关文章: 常见多智能体强化学习仿真环境介绍[一]{推荐收藏,真的牛} 多智能体强化学习算法[一][MAPPO.MADDPG.QMIX] 多智能体强化学习算法[二][MADDPG.QMIX.MAPPO ...

  9. 同时配置github和gitee秘钥

    1.设置用户名和邮箱 git config --global --list 查看全局配置信息 git config --global --list 删除配置:必须删除该设置 git config -- ...

  10. python使用selenium控制已打开的Chrome浏览器

    环境 Python3.11 selenium 4.9.0 Chrome 112.0.5615.138 步骤 为了便于和平常用的Chrome浏览区分,可以先创建一个专门用于开发的Chrome浏览器, 添 ...