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();
    }
}

results matching ""

    No results matching ""