[LeetCode] 252. Meeting Rooms

匿名 (未验证) 提交于 2019-12-03 00:15:02

会议室。给的input是一个二维数组,二维数组里面的每一个元素记录了每个会议的开始时间和结束时间。问同一个人是否有可能参加所有的会议。

Example 1:

Input: [[0,30],[5,10],[15,20]] Output: false 

Example 2:

Input: [[7,10],[2,4]] Output: true

思路很简单,但是这是LC上算是一种比较特别的题型 - 扫描线。这题的思路是按照会议开始时间给input排序,如果有任何一个会议的结束时间 > 下一个会议的开始时间,就return false。

时间O(nlogn)

空间O(1)

 1 /**  2  * @param {number[][]} intervals  3  * @return {boolean}  4  */  5 var canAttendMeetings = function(intervals) {  6     let sorted = intervals.sort((a, b) => a[0] - b[0]);  7     for (let i = 1; i < intervals.length; i++) {  8         if (sorted[i - 1][1] > sorted[i][0]) {  9             return false; 10         } 11     } 12     return true; 13 };

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!