Course Schedule III LeetCode solution in JavaScript
1var scheduleCourse = function (courses) {2courses.sort((a, b) => a[1] - b[1]);3let pq = new PQ(),4currentDay = 0;56for (let [duration, lastDay] of courses) {7if (duration > lastDay) continue;89if (currentDay + duration <= lastDay) {10pq.offer(duration);11currentDay += duration;12} else if (duration < pq.peek() && pq.size()) {13currentDay += duration - pq.poll();14pq.offer(duration);15}16}17return pq.size();18};