LeetCode 面试经典150题 252.会议室

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

思路:因为一个人在同一时刻只能参加一个会议,因此题目实质是判断是否存在重叠区间,这个简单,将区间按照会议开始时间进行排序,然后遍历一遍判断即可。

代码

java 复制代码
class Solution {
    public boolean canAttendMeetings(int[][] intervals) {
        // 将区间按照会议开始实现升序排序
        Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0]);
        // 遍历会议,如果下一个会议在前一个会议结束之前就开始了,返回 false。
        for (int i = 1; i < intervals.length; i++) {
            if (intervals[i][0] < intervals[i - 1][1]) {
                return false;
            }
        }
        return true;
    }
}

性能

相关推荐
手握风云-18 分钟前
优选算法的妙思之流:分治——快排专题
数据结构·算法
熬夜苦读学习26 分钟前
Linux进程信号
linux·c++·算法
白白糖29 分钟前
二叉树 递归
python·算法·力扣
jyyyx的算法博客40 分钟前
Leetcode 857 -- 贪心 | 数学
算法·leetcode·贪心·嗜血
蛇皮划水怪1 小时前
代码随想录-图论-图经典算法
面试
ChoSeitaku1 小时前
NO.64十六届蓝桥杯备战|基础算法-简单贪心|货仓选址|最大子段和|纪念品分组|排座椅|矩阵消除(C++)
算法·矩阵·蓝桥杯
l1n3x1 小时前
编译原理前端-词法分析
算法·编译原理
一只天蝎的晋升之路1 小时前
基础算法之:动态规划
算法·动态规划
uhakadotcom1 小时前
阿里云Tea OpenAPI:简化Java与阿里云服务交互
后端·面试·github
KangkangLoveNLP1 小时前
手动实现一个迷你Llama:使用SentencePiece实现自己的tokenizer
人工智能·深度学习·学习·算法·transformer·llama