博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Meeting Rooms
阅读量:6278 次
发布时间:2019-06-22

本文共 1146 字,大约阅读时间需要 3 分钟。

Problem Description:

Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei), determine if a person could attend all meetings.

For example,

Given [[0, 30],[5, 10],[15, 20]],
return false


The idea is pretty simple: first we sort the intervals in the ascending order of start; then we check for the overlapping of each pair of neighboring intervals. If they do, then return false; after we finish all the checks and have not returned false, just return true.

Sorting takes O(nlogn) time and the overlapping checks take O(n) time, so this idea is O(nlogn) time in total.

The code is as follows.

1 class Solution { 2 public: 3     bool canAttendMeetings(vector
& intervals) { 4 sort(intervals.begin(), intervals.end(), [](Interval& l, Interval& r){
return l.start < r.start;}); 5 int n = intervals.size(); 6 for (int i = 0; i < n - 1; i++) { 7 if (intervals[i].end > intervals[i + 1].start) { 8 return false; 9 }10 }11 return true;12 }13 };

转载于:https://www.cnblogs.com/jcliBlogger/p/4713035.html

你可能感兴趣的文章
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
Android下创建一个sqlite数据库
查看>>
数组<=>xml 相互转换
查看>>
MFC单文档应用程序显示图像
查看>>
poj 2777(线段树的节点更新策略)
查看>>
Swift-EasingAnimation
查看>>