Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.56 KB | None | 0 0
  1. /**
  2.  * Definition for an interval.
  3.  * public class Interval {
  4.  *     int start;
  5.  *     int end;
  6.  *     Interval() { start = 0; end = 0; }
  7.  *     Interval(int s, int e) { start = s; end = e; }
  8.  * }
  9.  */
  10. class Solution {
  11.     public int minMeetingRooms(Interval[] intervals) {
  12.        
  13.         Arrays.sort(intervals, new Comparator<Interval>(){
  14.             public int compare(Interval a, Interval b){
  15.                 if(a.start == b.start){
  16.                     return a.end - b.end;
  17.                 }
  18.                 return a.start - b.start;
  19.             }
  20.         });
  21.        
  22.         ArrayList<ArrayList<Integer>> matrix = new ArrayList<>();
  23.         matrix.add(new ArrayList<Integer>());
  24.        
  25.         for(Interval inter: intervals){
  26.             boolean insert = false;
  27.             int m = 0;
  28.             while(!insert){
  29.                 ArrayList<Integer> currRoom = matrix.get(m);
  30.                 int spot = currRoom.size() - 1;
  31.                 if(spot == -1){
  32.                     currRoom.add(inter.end);
  33.                     insert = true;
  34.                 }
  35.                 else if(currRoom.get(spot) <= inter.start){
  36.                     currRoom.add(inter.end);
  37.                     insert = true;
  38.                 }
  39.                 else{
  40.                     m++;
  41.                     if(m >= matrix.size()){
  42.                         matrix.add(new ArrayList<Integer>());
  43.                     }
  44.                 }
  45.             }
  46.         }
  47.         if(matrix.get(0).size() == 0){
  48.             return 0;
  49.         }
  50.         return matrix.size();
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement