File tree Expand file tree Collapse file tree 1 file changed +10
-23
lines changed Expand file tree Collapse file tree 1 file changed +10
-23
lines changed Original file line number Diff line number Diff line change 1
1
class Solution {
2
2
public int minMeetingRooms (int [][] intervals ) {
3
- Arrays .sort (intervals , new Comparator <int []>() {
4
- @ Override
5
- public int compare (int [] o1 , int [] o2 ) {
6
- int c = o1 [0 ] - o2 [0 ];
7
- if (c != 0 ) {
8
- return c ;
9
- }
10
- return o1 [1 ] - o2 [1 ];
3
+ Arrays .sort (intervals , Comparator .comparingInt ((a ) -> a [0 ]));
4
+ PriorityQueue <int []> meetingsInProgress = new PriorityQueue <>(
5
+ Comparator .comparingInt ((a ) -> a [1 ]));
6
+ int result = 0 ;
7
+ for (int [] interval : intervals ) {
8
+ while (!meetingsInProgress .isEmpty () && meetingsInProgress .peek ()[1 ] <= interval [0 ]) {
9
+ meetingsInProgress .poll ();
11
10
}
12
- });
13
- PriorityQueue <int []> pq = new PriorityQueue <>(new Comparator <int []>() {
14
- @ Override
15
- public int compare (int [] o1 , int [] o2 ) {
16
- return o1 [1 ] - o2 [1 ];
17
- }
18
- });
19
- int maxCount = 0 ;
20
- for (int i = 0 ; i < intervals .length ; i ++) {
21
- while (!pq .isEmpty () && pq .peek ()[1 ] <= intervals [i ][0 ]) {
22
- pq .poll ();
23
- }
24
- pq .add (intervals [i ]);
25
- maxCount = Math .max (maxCount , pq .size ());
11
+ meetingsInProgress .add (interval );
12
+ result = Math .max (result , meetingsInProgress .size ());
26
13
}
27
- return maxCount ;
14
+ return result ;
28
15
}
29
16
}
You can’t perform that action at this time.
0 commit comments