Advertisement
Guest User

room-schedule

a guest
Dec 10th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.96 KB | None | 0 0
  1. import java.util.*; //Arrays, Comparator, PriortyQueue, Queue, Scanner
  2. public class RoomSchedule {
  3.     public static void main(String args[]) {
  4.         System.out.print("enter an integer: ");
  5.         Scanner input = new Scanner(System.in);
  6.         int number = input.nextInt();
  7.  
  8.         ScheduleFactory factory = new ScheduleFactory();
  9.         int schedules[][] = factory.getSchedule(number);
  10.  
  11.         System.out.print("minimum number of rooms: " + minRooms(schedules));
  12.     }
  13.     public static int minRooms(int[][] schedules) {
  14.         if (schedules.length == 0) return 0;
  15.  
  16.         Arrays.sort(schedules, Comparator.comparingInt(event -> event[0]));
  17.         Queue<Integer> conflict = new PriorityQueue<>();
  18.         conflict.add(schedules[0][1]);
  19.  
  20.         for (int i = 1; i < schedules.length; i++) {
  21.             if (conflict.peek() < schedules[i][0]) conflict.poll();
  22.             conflict.add(schedules[i][1]);
  23.         }   return conflict.size();
  24.     }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement