Meeting Rooms

Source

  • leetcode: 252
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.

java

public boolean canAttendMeetings(Interval[] intervals) {
    if(intervals == null || intervals.length == 0 || intervals.length == 1)
        return true;
    Arrays.sort(intervals, new IntervalComparator());
    for(int i = 1; i < intervals.length; i++){
        if(intervals[i].start < intervals[i - 1].end){
            return false;
        }
    }
    return true;
}

class IntervalComparator implements Comparator<Interval>{
    public int compare(Interval a, Interval b){
        return a.start - b.start;
    }
}