252. Meeting Rooms
by Botao Xiao
Question
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
NOTE: input types have been changed on April 15, 2019. Please reset to default code definition to get new method signature.
Thinking:
- Method 1:
public class MeetingRooms {
public static boolean canAttend(int[][] intervals){
if(intervals == null || intervals.length == 0) return true;
for(int i = 1; i < intervals.length; i++){
if(intervals[i][0] < intervals[i - 1][1])
return false;
}
return true;
}
}
Second Time
- Method 1: Sort
class Solution { public boolean canAttendMeetings(int[][] intervals) { int len = intervals.length; int[] startTime = new int[len]; int[] endTime = new int[len]; int count = 0; for(int[] interval: intervals){ startTime[count] = interval[0]; endTime[count++] = interval[1]; } Arrays.sort(startTime); Arrays.sort(endTime); for(int i = 1; i < len; i++){ if(startTime[i] < endTime[i - 1]) return false; } return true; } }
Subscribe via RSS