zoukankan      html  css  js  c++  java
  • [leetcode]252. Meeting Rooms会议室有冲突吗

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei), determine if a person could attend all meetings.

    Example 1:

    Input: [[0,30],[5,10],[15,20]]
    Output: false
    

    Example 2:

    Input: [[7,10],[2,4]]
    Output: true

    题目

    给定一些区间,判断是否有重合。

    还是挺实际的场景,经常在图书馆预定study room的系统,内部也应该是这个逻辑。 当有overlapping的时候,就会报错。

     

    思路

    任何一组intervals, 若当前start < 之前end,即出现了overlapping 

    代码

     1 class Solution {
     2     public boolean canAttendMeetings(Interval[] intervals) {
     3         if(intervals == null || intervals.length==0) return true;
     4         int []start = new int[intervals.length];
     5         int []end = new int[intervals.length];
     6         for(int i = 0; i<intervals.length;i++){
     7             start[i] = intervals[i].start;
     8             end[i] = intervals[i].end;
     9         }
    10         Arrays.sort(start);
    11         Arrays.sort(end);
    12         /* 任何一组intervals, 若当前start < 之前end,即出现了overlapping 
    13             | i-1 |
    14                 |  i  |   
    15         */ 
    16         for(int i = 1; i< start.length; i++){
    17             if(start[i]<end[i-1]) return false;
    18         }
    19         return true;
    20     }
    21 }
  • 相关阅读:
    nginx安装和配置
    AgileReview 代码检视工具使用
    jmh 微基准测试
    dubbo源码分析
    springweb 详解。
    spring web 测试用例
    ParameterizedType 使用方法
    Protobuf协议--java实现
    spring自定义标签
    java设计模式之命令模式
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/9823970.html
Copyright © 2011-2022 走看看