252. 会议室

给定一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi],请你判断一个人是否能够参加这里面的全部会议。

示例 1:

输入:intervals = [[0,30],[5,10],[15,20]]
输出:false

示例 2:

输入:intervals = [[7,10],[2,4]]
输出:true

思路

基于贪心。看看现在这个时间能不能去开会,能则时间置为结束时间。开下个会议时再看看能不能去开会,直到把整个列表的会开完,则返回 true,若中途结束时间大于开会时间则说明这个会议不能参加,则返回 false。

复杂度

时间复杂度:O(NlogN)O(NlogN)O(NlogN),排序最少需要 O(NlogN)O(NlogN)O(NlogN)

空间复杂度:O(1)O(1)O(1)

代码

class Solution {public boolean canAttendMeetings(int[][] a) {Arrays.sort(a, (x, y) -> x[0] == y[0] ? x[1] - y[1] : x[0] - y[0]);int i = 0;for (int[] x : a) {if (i <= x[0]) i = x[1];else return false;}return true;}
}

253. 会议室 II

给你一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi] ,为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。

示例 1:

输入:intervals = [[0,30],[5,10],[15,20]]
输出:2

示例 2:

输入:intervals = [[7,10],[2,4]]
输出:1

思路

贪心策略。开会的时候先看看有没有结束的会议,如果有则复用,如果没有就新开一个会议室。

复杂度

时间复杂度:O(NlogN)O(NlogN)O(NlogN),排序最少需要 O(NlogN)O(NlogN)O(NlogN)

空间复杂度:O(N)O(N)O(N)

代码

class Solution {public int minMeetingRooms(int[][] intervals) {int res = 0, n = intervals.length;int a[] = new int[n];int b[] = new int[n];for (int i = 0; i < n; i++) {a[i] = intervals[i][0];b[i] = intervals[i][1];}Arrays.sort(a);Arrays.sort(b);for (int i = 0, j = 0; i < n; i++) {if (a[i] < b[j]) res++;else j++;}return res;}
}

leetcode 会议室系列相关推荐

  1. leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  2. 八十一、Python | Leetcode 二叉树系列(下篇)

    @Author:Runsen @Date:2020/7/6 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  3. 七十四、Python | Leetcode数字系列(下篇)

    @Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  4. 七十三、Python | Leetcode数字系列(上篇)

    @Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  5. 七十二、Python | Leetcode字符串系列(下篇)

    @Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  6. 七十一、Python | Leetcode字符串系列(上篇)

    @Author:Runsen @Date:2020/7/3 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  7. 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  8. 【快乐手撕LeetCode题解系列】——消失的数字

    [快乐手撕LeetCode题解系列]--消失的数字

  9. 六十七、Leetcode数组系列(下篇)

    @Author:Runsen @Date:2020/6/19 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

最新文章

  1. LLVM一些语法规则
  2. 服务发现存储仓库 etcd 使用简介
  3. 实践作业3 (2017-12-4)
  4. 广度优先搜索_广度优先搜索(BFS)
  5. 深度学习基本概念的了解
  6. 浅析MongoDB数据库的海量数据存储应用
  7. js实现svg图形转存为图片下载[转]
  8. 找到最大回文子串_使用O(1)空间复杂度找到最大的回文子串
  9. dj鲜生-21-模板抽离-用户中心的父模板页制作-二级base_no_cart与三级base_user_center
  10. Java利用jacob实现文档格式转换
  11. 大数据(1)---大数据全系技术概览
  12. 如何高效使用和管理Bitmap--图片缓存管理模块的设计与实现
  13. GdiPlus[16]: IGPLinearGradientBrush 之 SetBlendBellShape、SetBlendTriangularShape
  14. sql2005没有服务器名称
  15. 南方cass简码识别大全_南方CASS简码成图的方法
  16. 乐视max70老款_这货是电视?超大尺寸乐视TV Max70试玩
  17. JWT springboot集成jWT
  18. Codeforces Round #127 (Div. 1) B. Guess That Car! 扫描线
  19. 第10课:生活中的迭代模式——下一个就是你了
  20. java swing计算机_利用JAVA SWING 编程,要在当前窗体中显示如下信息提示框,则需要编写的代码...

热门文章

  1. matlab中值滤波--medfilt2
  2. 修改电脑WIFI网络的连接密码
  3. C++文件操作之eof函数问题
  4. springboot之sts使用
  5. 你还有什么想问我的吗?
  6. LWJGL入门指南:使用《我的世界》(Minecraft)同款游戏库开发一个超级“简单”的3D射击游戏
  7. wampserv设置虚拟主机
  8. OpenGL 应用程序无法正常启动0xc000007b
  9. java小项目之打印账单
  10. 基于树莓派(C语音)实现人脸识别(翔云平台)