252. Meeting Rooms

把intervals建成一个arrayList然后重新写一个自己的comparator,对intervals排序,按照开始时间排序,如果开始时间是一样的,就按照结束时间排序

最后对所有的interval都检查一遍,如果前一个的结束时间在这一个的开始之后,那就返回false.如果检查完了也没有问题,那么就是true

如果list的长度是1,那么肯定是true不需要单独检查

 1     public boolean canAttendMeetings(Interval[] intervals) {
 2         List<Interval> intervalList = new ArrayList<Interval>(Arrays.asList(intervals));
 3         Collections.sort(intervalList, new Comparator<Interval>() {
 4             public int compare(Interval o1, Interval o2) {
 5                 if(o1.start != o2.start) {
 6                     return o1.start - o2.start;
 7                 } else {
 8                     return o1.end -o2.end;
 9                 }
10             }
11         });
12         for(int i = 1; i < intervals.length; i++) {
13             if(intervalList.get(i-1).end > intervalList.get(i).start) {
14                 return false;
15             }
16         }
17         return true;
18     }

 

posted @ 2016-08-11 02:39  warmland  阅读(201)  评论(0编辑  收藏  举报