Course Schedule III
https://leetcode.com/problems/course-schedule-iii/#/description
public class Solution {
public int scheduleCourse(int[][] courses) {
Arrays.sort(courses, (c1, c2)->c1[1] - c2[1]);
Queue<Integer> maxHeap = new PriorityQueue<>((i1, i2)->i2-i1);
int t = 0;
// for(int i = 0; i < courses.length; i++){
// t += courses[i][0];
// maxHeap.add(courses[i][0]);
// if(t > courses[i][1]){
// t -= maxHeap.poll();
// }
// }
for(int[] c : courses){
t += c[0];
maxHeap.add(c[0]);
if(t > c[1]){
t -= maxHeap.poll();
}
}
return maxHeap.size();
}
}