Skip to content

Commit

Permalink
Update 630.Course-Schedule-III.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
wisdompeak authored Jun 18, 2021
1 parent e876af6 commit 28faa74
Showing 1 changed file with 11 additions and 21 deletions.
32 changes: 11 additions & 21 deletions Priority_Queue/630.Course-Schedule-III/630.Course-Schedule-III.cpp
Original file line number Diff line number Diff line change
@@ -1,36 +1,26 @@
class Solution {
static bool cmp(vector<int>a,vector<int>b)
static bool cmp(vector<int>&a, vector<int>&b)
{
return a[1]<b[1];
}
public:
int scheduleCourse(vector<vector<int>>& courses)
{
sort(courses.begin(),courses.end(),cmp);

priority_queue<int>pq;

int day=0;
sort(courses.begin(),courses.end(),cmp);
priority_queue<int>pq;

int cur = 0;
for (int i=0; i<courses.size(); i++)
{
if (day+courses[i][0]<=courses[i][1])
{
day+=courses[i][0];
pq.push(courses[i][0]);
}
else
pq.push(courses[i][0]);
cur += courses[i][0];

if (cur>courses[i][1])
{
if (!pq.empty() && pq.top()>courses[i][0])
{
day=day-pq.top()+courses[i][0];
pq.pop();
pq.push(courses[i][0]);
}
}
cur -= pq.top();
pq.pop();
}
}

return pq.size();

}
};

0 comments on commit 28faa74

Please sign in to comment.