【LintCode】920.会议室

2024-01-11 09:52
文章标签 会议室 lintcode 920

本文主要是介绍【LintCode】920.会议室,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目

描述

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

注意:(0,8),(8,10)在8这一时刻不冲突

样例

样例1

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

样例2

输入: intervals = [(5,8),(9,15)]
输出: true
解释:
这两个时间段不会冲突

原题链接

920.会议室

思路

将所有会议按照会议的起始时间进行从小到大的排序,如果前一个会议的结束时间大于当前会议的起始时间,则两个会议时间冲突。

代码

/*** Definition of Interval:* class Interval {* public:*     int start, end;*     Interval(int start, int end) {*         this->start = start;*         this->end = end;*     }* }*/class Solution {
private:static bool cmp(Interval &lhs, Interval &rhs) {return lhs.start < rhs.start;}
public:/*** @param intervals: an array of meeting time intervals* @return: if a person could attend all meetings*/bool canAttendMeetings(vector<Interval> &intervals) {sort(intervals.begin(), intervals.end(), cmp);for (int i = 1; i < intervals.size(); i++) {if (intervals[i - 1].end > intervals[i].start) {return false;}}return true;}
};

这篇关于【LintCode】920.会议室的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/593988

相关文章

【办公效率】Axure会议室预订小程序原型图,含PRD需求文档和竞品分析

作品说明 作品页数:共50+页 兼容版本:Axure RP 8/9/10 应用领域:中小型企业的会议室在线预订 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本作品为会议室预订小程序原型图,定位于拥有中大型组织架构的企业、办公楼、园区等群体,为其提供简易化的线上会议室管理的服务。 本作品从业务分析、竞品分析、用例图、原型设计,到需求清单,依照(敏捷开发)标准实战流程输出一套

LintCode 恢复IP地址

给一个由数字组成的字符串。求出其可能恢复为的所有IP地址。 样例 给出字符串 “25525511135”,所有可能的IP地址为: [ “255.255.11.135”, “255.255.111.35” ] 和LintCode 电话号码的字母组合类似。 首先找到合适的位数组合。一共4位,每一位的长度要大于等于1,小于等于3,且4位和为字符串长度. 另外要判断每1 位的数字组合,是

LintCode 最长无重复字符的子串

给定一个字符串,请找出其中无重复字符的最长子字符串。 例如,在”abcabcbb”中,其无重复字符的最长子字符串是”abc”,其长度为 3。 对于,”bbbbb”,其无重复字符的最长子字符串为”b”,长度为1。 从左向右扫描,遇到重复的字符时,从前面出现该字符的位置的下一个字符开始,重新扫描,直到扫描到最后。例如: abcbdefgdk 字符abcbdefgdk下标0123456789

LintCode 最长回文子串

给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。 样例 给出字符串 “abcdzdcab”,它的最长回文子串为 “cdzdc”。 挑战 O(n2) 时间复杂度的算法是可以接受的,如果你能用 O(n) 的算法那自然更好。 第一次AC的连O(n2)都不是的,是O(n3),遍历所有子串。代码如下: class Solution:"""@

LintCode 电话号码的字母组合

Given a digit string excluded 01, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. 样例 给定 “

LintCode 通配符匹配

参考资料 判断两个可能包含通配符“?”和“*”的字符串是否匹配。匹配规则如下: ‘?’ 可以匹配任何单个字符。 ‘*’ 可以匹配任意字符串(包括空字符串)。 两个串完全匹配才算匹配成功。 函数接口如下: bool isMatch(const char *s, const char *p) 一些例子: isMatch(“aa”,”a”) → false isMatch(“aa”,”

LintCode 落单的数 ⅡⅢ

参考资料 落单的数Ⅱ 给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。 样例 给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4 落单的数Ⅲ 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到这两个数字。 样例 给出 [1,2,2,3,4,4,5,3],返回 1和5 利用位运算操作。 Ⅱ : int类型有

LintCode 主元素 ⅠⅡⅢ

虚心学习1 虚心学习2

LintCode 寻找缺失的数

给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数。 样例 N = 4 且序列为 [0, 1, 3] 时,缺失的数为2。 题目说的不是很清楚,意思就是如下: 给定给一个序列,有N个数,对于{0,1,2,……N}这个N+1个数的序列中,少了哪一个数? 这道题和LintCode上另一道题类似——《落单的数》 给出2*n + 1 个的数字,除其中一

LintCode 吹气球

有n个气球,编号为0到n-1,每个气球都有一个分数,存在nums数组中。每次吹气球i可以得到的分数为 nums[left] * nums[i] * nums[right],left和right分别表示i气球相邻的两个气球。当i气球被吹爆后,其左右两气球即为相邻。要求吹爆所有气球,得到最多的分数。 样例 给出 [4, 1, 5, 10] 返回 270 nums = [4, 1, 5, 10]