252. Meeting Rooms
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.
Example 1:
Input: [[0,30],[5,10],[15,20]]
Output: false
Example 2:
Input: [[7,10],[2,4]]
Output: true
解题要点:
首先根据start time从小到大排序,然后再比较前一结束时间和后面开始时间,如果结束时间大于后面开始时间,直接返回False。
class Solution {
public boolean canAttendMeetings(int[][] intervals) {
Arrays.sort(intervals, new Comparator<int[]>() {
public int compare(int[] a, int[] b) {
return Integer.compare(a[0], b[0]);
}
});
for(int i = 0; i < intervals.length - 1; i++){
int next = i + 1;
if(intervals[i][1] > intervals[next][0]) return false;
}
return true;
}
}
Last updated
Was this helpful?