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;
    }
}

性能

相关推荐
Cx330❀12 分钟前
【数据结构初阶】--排序(四):归并排序
c语言·开发语言·数据结构·算法·排序算法
绝无仅有21 分钟前
编写 Go 项目的 Dockerfile 文件及生成 Docker 镜像
后端·面试·github
绝无仅有33 分钟前
使用 Docker 部署 Go 项目(Beego 框架)
后端·面试·github
余_弦35 分钟前
区块链中的密码学 —— 密钥派生算法
算法·区块链
亲爱的非洲野猪1 小时前
令牌桶(Token Bucket)和漏桶(Leaky Bucket)细节对比
网络·算法·限流·服务
luckyCover1 小时前
面试前来了解下TCP/IP网络模型吧~
前端·面试
NAGNIP1 小时前
一文读懂LLAMA
算法
烧冻鸡翅QAQ1 小时前
62.不同路径
算法·动态规划
番薯大佬1 小时前
编程算法实例-冒泡排序
数据结构·算法·排序算法
专业抄代码选手1 小时前
从 Fiber 到 DOM:深入理解 React 渲染
javascript·面试