Course Schedule III LeetCode solution in Java

1
class Solution {
2
public int scheduleCourse(int[][] C) {
3
Arrays.sort(C, (a, b) -> a[1] - b[1]);
4
PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> b - a);
5
int total = 0;
6
for (int[] course : C) {
7
int dur = course[0], end = course[1];
8
if (dur + total <= end) {
9
total += dur;
10
pq.add(dur);
11
} else if (pq.size() > 0 && pq.peek() > dur) {
12
total += dur - pq.poll();
13
pq.add(dur);
14
}
15
}
16
return pq.size();
17
}
18
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0