252.Meeting Rooms

    /*
     * 252.Meeting Rooms
     * 2016-6-20 by Mingyang
     * Arrays.sort的用法要熟悉
     * 这题和Merge Intervals很像,我们按开始时间把这些Interval都给排序后,就挨个检查是否有冲突就行了。
     * 有冲突的定义是开始时间小于之前最晚的结束时间。
     * 这里之前最晚的结束时间不一定是上一个的结束时间,所以我们更新的时候要取最大值。
     */
     public boolean canAttendMeetings(Interval[] intervals) {
            if(intervals == null || intervals.length == 0) return true;
            Arrays.sort(intervals, new Comparator<Interval>(){
                public int compare(Interval i1, Interval i2){
                    return i1.start - i2.start;
                }
            });
            int end = intervals[0].end;
            // 检查每一个Interval
            for(int i = 1; i < intervals.length; i++){
                // 如果Interval的开始时间小于之前最晚的结束时间,就返回假
                if(intervals[i].start < end) return false;
                end = Math.max(end, intervals[i].end);
            }
            return true;
        }
原文地址:https://www.cnblogs.com/zmyvszk/p/5602677.html