252. Meeting Rooms

来源:互联网 发布:免费网络宣传 编辑:程序博客网 时间:2024/05/05 20:22

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.

For example,
Given [[0, 30],[5, 10],[15, 20]],
return false.

按照会议开始时间排序,如果每个时间都是错开的,那么每一个interval[i].start会大于interval[i-1].end,否则就会有重叠。代码如下:

/** * Definition for an interval. * public class Interval { *     int start; *     int end; *     Interval() { start = 0; end = 0; } *     Interval(int s, int e) { start = s; end = e; } * } */public class Solution {    public boolean canAttendMeetings(Interval[] intervals) {        if (intervals.length == 0) {            return true;        }        int[] start = new int[intervals.length];        int[] end = new int[intervals.length];        for (int i = 0; i < intervals.length; i ++) {            start[i] = intervals[i].start;            end[i] = intervals[i].end;        }        Arrays.sort(start);        Arrays.sort(end);        for (int i = 1; i < intervals.length; i ++) {            if (start[i] < end[i - 1]) {                return false;            }        }        return true;    }}

0 0
原创粉丝点击