当前位置:   article > 正文

LeetCode 759. 员工空闲时间(排序)_leetcode 759 python

leetcode 759 python

文章目录

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

来源:力扣(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;
    }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

56 ms 10.6 MB


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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/1001918
推荐阅读
相关标签
  

闽ICP备14008679号