Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Definition for an interval.
- * public class Interval {
- * int start;
- * int end;
- * Interval() { start = 0; end = 0; }
- * Interval(int s, int e) { start = s; end = e; }
- * }
- */
- class Solution {
- public int minMeetingRooms(Interval[] intervals) {
- Arrays.sort(intervals, new Comparator<Interval>(){
- public int compare(Interval a, Interval b){
- if(a.start == b.start){
- return a.end - b.end;
- }
- return a.start - b.start;
- }
- });
- ArrayList<ArrayList<Integer>> matrix = new ArrayList<>();
- matrix.add(new ArrayList<Integer>());
- for(Interval inter: intervals){
- boolean insert = false;
- int m = 0;
- while(!insert){
- ArrayList<Integer> currRoom = matrix.get(m);
- int spot = currRoom.size() - 1;
- if(spot == -1){
- currRoom.add(inter.end);
- insert = true;
- }
- else if(currRoom.get(spot) <= inter.start){
- currRoom.add(inter.end);
- insert = true;
- }
- else{
- m++;
- if(m >= matrix.size()){
- matrix.add(new ArrayList<Integer>());
- }
- }
- }
- }
- if(matrix.get(0).size() == 0){
- return 0;
- }
- return matrix.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement