文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给定员工的 schedule 列表,表示每个员工的工作时间

每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序

返回表示 所有 员工的 共同,正数长度的空闲时间有限时间段的列表,同样需要排好序。

示例 1:
输入:schedule = [[[1,2],[5,6]],[[1,3]],[[4,10]]]
输出:[[3,4]]
解释:
共有 3 个员工,并且所有共同的
空间时间段是 [-inf, 1], [3, 4], [10, inf]。
我们去除所有包含 inf 的时间段,因为它们不是有限的时间段。示例 2:
输入:schedule = [[[1,3],[6,7]],[[2,4]],[[2,5],[9,12]]]
输出:[[5,6],[7,9]]而且,答案中不包含 [5, 5] ,因为长度为 0。
schedule 和 schedule[i] 为长度范围在 [1, 50]的列表。
0 <= schedule[i].start < schedule[i].end <= 10^8。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/employee-free-time
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

/*
// Definition for an Interval.
class Interval {
public:int start;int end;Interval() {}Interval(int _start, int _end) {start = _start;end = _end;}
};
*/class Solution {public:vector<Interval> employeeFreeTime(vector<vector<Interval>> schedule) {int l = INT_MAX;vector<Interval> v;for(auto& s: schedule) for(auto& i : s){v.push_back(i);l = min(l, i.end);}sort(v.begin(), v.end(), [&](auto& a, auto& b){if(a.start == b.start)return a.end < b.end;return a.start < b.start;});vector<Interval> ans;for(int i = 0; i < v.size(); ++i){if(l < v[i].start)ans.push_back(Interval(l, v[i].start));l = max(l, v[i].end);}return ans;}
};

56 ms 10.6 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 759. 员工空闲时间(排序)相关推荐

  1. 员工上网时间管理软件 — Ping32

    现如今,没有一个公司企业是不使用网络的,员工人人一台电脑来办公,这就使用到网络,对于员工来说没有网络怎么能有效的办公呢.网络的出现,让我们的生活和工作得到了很大的改善,渐渐的我们也迷上了网络,每天都沉 ...

  2. LeetCode 1834. 单线程 CPU(排序 + 优先队列)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个二维数组 tasks ,用于表示 n​​​​​​ 项从 0 到 n - 1 编号的任务. 其中 tasks[i] = [enqueueTimei, ...

  3. 【剑指 offer】—— 为公司员工的年龄排序

    快速排序虽然总体的平均效率是最好的,但也不是在任何时候都是最优的算法.比如数组本身已经是排好序了,而每一轮排序的时候都是以最后一个数字作为比较的标准,此时快速排序的效率只有 O(n2)O(n^2).因 ...

  4. 空闲时间不要接私活,要提升自己

    这个话题很纠结 现在社会,有很多人都在利用个人时间兼职赚钱,程序员俗称"接私活",其他行业称作兼职,比如下了班出去跑滴滴,周末兼职抢单送外卖等等,都是普通人很常见的兼职方式. 甚至 ...

  5. mysql数据库空闲时间设定_关于数据库连接池的最大空闲时间的配置

    关于数据库连接池的最大空闲时间的配置 java的所有的连接池 无论是c3p0.dbcp还是druid,都有一个类似maxIdleTime配置项.具体含义就是当连接长时间没有向服务器发请求的时候,断开这 ...

  6. 将集合中的内容按时间排序

    /** * 将集合中的内容按时间排序 * @param list */ private static void ListSort(List<BossMsgInfo> list) { Col ...

  7. mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案

    mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 参考文章: (1)mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案 (2)https://www.cnbl ...

  8. linux ls 按 文件名 大小 时间 排序

    linux ls命令中,-f 直接列出结果,而不进行排序(ls默认会以文件名排序):-S 基于文件大小进行排序:-t 基于文件修改时间进行排序:-r 将排序结果反向输出,例如:原本文件名由小到大,反向 ...

  9. linux shell ls 时间排序显示

    在linux系统中,使用ls命令按时间排序文件,其实很简单,如下: ls -tr 即可按时间排序当前目录下的文件. 附,ls命令的参数中文详解: -a 列出目录下的所有文件,包括以 . 开头的隐含文件 ...

最新文章

  1. 首次使用mysql_mysql的初次使用操作
  2. 哎!马上要涉水了,装修的水!
  3. [BUAA软工]提问回顾与个人总结
  4. java log4j logback jcl_知识总结-Java日志框架Log4j、Log4j2、logback、slf4j、简介
  5. Android中级教程之----Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
  6. 程序员基本功 06 流程控制的陷阱
  7. 软件工程学习笔记(考试版)
  8. 第二章 XHTML简介
  9. 文件操作(上传,下载,限制)
  10. ajax多选下拉,模拟select下拉框之多选(数据源采用模拟Ajax数据--原创)(示例代码)...
  11. AI招聘公司Moka再融1.8亿,90后学霸创始团队靠变革HR年入3000万
  12. Instagram 使用 Python 的经验
  13. jquery读取json文件然后赋值给html,Jquery读取json文件的代码举例
  14. php网页象棋源码,JS小游戏之象棋暗棋源码详解_javascript技巧
  15. Hi3519av100 编译kernel
  16. 怎么将CAD中的两条直线拉成弧形呢?
  17. pngimg 可以商用吗_全球6大免费商用素材网!设计师必备!
  18. 关于使用win10易升,升级后电脑变卡解决方法
  19. PHP面试题2021和2022面试、跳槽必备大全!
  20. 【javaWeb微服务架构项目——乐优商城day05】——商品规格参数管理(增、删、改,查已完成),SPU和SKU数据结构,商品查询

热门文章

  1. linux proc文件 write的原子性,linux - Linux中writev()系统调用的原子性 - 堆栈内存溢出...
  2. 3d立体相册特效html网页代码_新闻类网页正文通用抽取器
  3. postgresql 数据表【转】
  4. 当年年仅18岁韩寒舌战群儒,受尽冷嘲热讽!
  5. Win7系统中用anaconda配置tensorflow运行环境
  6. HTML静态网页---标签
  7. 二维码扫描利用ZBar实现
  8. myeclipse启动报JVM terminated. Exit code=1
  9. 15.使用using和try/finally来做资源清理
  10. [zz from newsmth] 王大牛的Memory Model reading list