标签:
把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 }
标签:
原文地址:http://www.cnblogs.com/warmland/p/5759486.html