Skip to content

Commit 81c6d7f

Browse files
authored
Update Meeting Rooms II.java
1 parent 218ea4f commit 81c6d7f

File tree

1 file changed

+10
-23
lines changed

1 file changed

+10
-23
lines changed

Medium/Meeting Rooms II.java

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,16 @@
11
class Solution {
22
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();
1110
}
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());
2613
}
27-
return maxCount;
14+
return result;
2815
}
2916
}

0 commit comments

Comments
 (0)