首页 > 其他分享 >会议室 II

会议室 II

时间:2023-06-15 14:31:43浏览次数:31  
标签:queue end 会议室 int II start intervals return


会议室 II

题目:
描述
给定一系列的会议时间间隔intervals,包括起始和结束时间[[s1,e1],[s2,e2],…] (si < ei),找到所需的最小的会议室数量。

样例1
输入: intervals = [(0,30),(5,10),(15,20)]
输出: 2
解释:
需要两个会议室
会议室1:(0,30)
会议室2:(5,10),(15,20)

样例2
输入: intervals = [(2,7)]
输出: 1
解释:
只需要1个会议室就够了

解题思路:先进行排序,然后运用优先队列进行解决

/**
 * Definition of Interval:
 * public classs Interval {
 *     int start, end;
 *     Interval(int start, int end) {
 *         this.start = start;
 *         this.end = end;
 *     }
 * }
 */

public class Solution {
    /**
     * @param intervals: an array of meeting time intervals
     * @return: the minimum number of conference rooms required
     */
    public int minMeetingRooms(List<Interval> intervals) {
        // Write your code here
        if(intervals == null || intervals.size() == 0) {
            return 0;
        }

        Collections.sort(intervals, (a, b) -> {
            if(a.start == b.start) {
                return a.end - b.end;
            }

            return a.start - b.start;
        });

        PriorityQueue<Integer> queue = new PriorityQueue<Integer>((a, b) -> {
            return a - b;
        });

        queue.offer(intervals.get(0).end);
        int len = intervals.size();
        for(int i = 1; i < len; i++) {
            Interval cur = intervals.get(i);
            if(!queue.isEmpty() && cur.start >= queue.peek()) {
                queue.poll();
            }
            queue.offer(cur.end);
        }

        return queue.size();
    }
}


标签:queue,end,会议室,int,II,start,intervals,return
From: https://blog.51cto.com/u_14813899/6488106

相关文章

  • PPT| XX华MES整合IIOT技术提升企业数字化智造(可下载))
    PPT总共有50页,受篇幅有限,有需要PPT的同学可以关注:智能制造数字化咨询PPT总共有50页,受篇幅有限,有需要PPT的同学可以关注:智能制造数字化咨询......
  • SK-II受核污染疑云解除,关键时刻物联网技术保障消费者健康安全
    SK-II近日就“神仙水”被指受到产地滋贺县核辐射污水影响作出回应。SK-II称,相关报道属于不实信息,目前源头新闻发布者已经删除相关消息。滋贺县政府此前已于2015年3月发布过相关声明,表示当地并未受到核辐射影响。SK-II同时表示,旗下所有产品和成分上市之前均经过安全性评估,遵守所在市......
  • 代码随想录算法训练营第七天| 344.反转字符串 、 541. 反转字符串II、 剑指Offer 05.
     344.反转字符串代码:1voidreverseString(vector<char>&s){23inti=0;4intj=s.size()-1;5while(i<j)6{7charmid=s[i];8s[i]=s[j];9s[j]=mid;1011i++;12......
  • IIS配置代理转发到Apache或其他端口监听服务
    目标:iis运行asp程序;Apache运行php,iis监听占用80端口,由iis转发代理到Apache的php应用;iis转发到其他应用,如tornado服务。iis配置代理转发及路由重写https://iis-umbraco.azurewebsites.net/downloads官网下载Urlrewrite和ApplicationrequestRouter两个exe并安装选择上面安装......
  • IINA-Mac免费视频播放器
    IINA是一款Mac免费的视频播放器,支持播放Flash。在iOS中是一款非常受欢迎的播放器,同时也可以使用IINA播放Flash和音频,也可以播放其他格式的音视频。IINA支持Flash、ASF、SVG、AVI、MKV、DAT等格式。IINA支持多种音轨,比如Flash,ASF,SVG和AVI,音频播放方面有SRS空间......
  • javascript现代编程系列教程之二——IIFE
    IIFE(ImmediatelyInvokedFunctionExpression,立即执行函数表达式)是一个在定义后立即执行的JavaScript函数。它具有以下特点:是一个匿名函数:通常情况下,IIFE是一个没有名字的函数,称为匿名函数。立即执行:这个函数在声明后立即被调用并执行,而无需手动调用。创建局部作用域:它创建......
  • C++面试八股文:什么是RAII?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第13面:面试官:什么是RAII?二师兄:RAII是ResourceAcquisitionIsInitialization的缩写。翻译成中文是资源获取即初始化。面试官:RAII有什么特点和优势?二师兄:主要的特点是,在对象初始化时获取资源,在对象析构时释放资源。这种技术可以......
  • C++面试八股文:什么是RAII?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第13面:面试官:什么是RAII?二师兄:RAII是ResourceAcquisitionIsInitialization的缩写。翻译成中文是资源获取即初始化。面试官:RAII有什么特点和优势?二师兄:主要的特点是,在对象初始化时获取资源,在对象析构时释放资源。这种技术可以......
  • 1140.石子游戏 II
    问题描述1140.石子游戏II(Medium)爱丽丝和鲍勃继续他们的石子游戏。许多堆石子排成一行,每堆都有正整数颗石子piles[i]。游戏以谁手中的石子最多来决出胜负。爱丽丝和鲍勃轮流进行,爱丽丝先开始。最初,M=1。在每个玩家的回合中,该玩家可以拿走剩下的前X堆的所有石子,其......
  • 代码随想录算法训练营第六天| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数
    454.四数相加II1,难点:1,多个数组之间,会有重复出现的数组,如果单用multiset也是会出错的2,如果用mutliset,在使用distance找出来equal_range的值的时候,也是会出现奇怪的错误的2,正确思路1,把重复出现的节点,次数存放到map种,然后进行遍历3,代码:1intfourSumCount(v......