0
点赞
收藏
分享

微信扫一扫

【打卡】会议室(简单)

爱做梦的老巫婆 2022-02-01 阅读 121

描述
给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],…(si < ei),确定一个人是否可以参加所有会议。

样例1

输入: intervals = [(0,30),(5,10),(15,20)]
输出: false
解释:
(0,30), (5,10) 和 (0,30),(15,20) 这两对会议会冲突

样例2

输入: intervals = [(5,8),(9,15)]
输出: true
解释:
这两个时间段不会冲突
"""
Definition of Interval.
class Interval(object):
    def __init__(self, start, end):
        self.start = start
        self.end = end
"""

class Solution:
    """
    @param intervals: an array of meeting time intervals
    @return: if a person could attend all meetings
    """
    def canAttendMeetings(self, intervals):
        # Write your code here
        end_time = -1
        for x in sorted(intervals, key = lambda x:x.start):
            if x.start < end_time:
                return False
            end_time = x.end
        return True

sorted()排序函数
假如a是一个由元组构成的列表,这时我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数(匿名函数,需要用到一个函数,但又不想起名,这时用lambda代替),是固定写法,不要写成别的单词;x表示列表中的一个元素,在这里,表示一个元组,x只是临时起的一个名字,可以使用任意的名字;x[0]表示元组里的第一个元素,当然第二个元素就是x[1];所以这句命令的意思就是按照列表中第一个元素排序 。
在这里插入图片描述

举报

相关推荐

0 条评论