Minimum Initial Energy to Finish Tasks
Hard
Watch on YouTube ↗Solution
class Solution {
public int minimumEffort(int[][] tasks) {
int ans = 0;
int curr = 0;
// O(nlogn)
Arrays.sort(tasks, (a,b)-> {
int t1 = a[1]-a[0];
int t2 = b[1]-b[0];
return t2-t1;
});
for(int i=0; i<tasks.length; i++) {
if(tasks[i][1] > curr) {
ans += (tasks[i][1] - curr);
curr = tasks[i][1];
}
curr = curr - tasks[i][0];
}
return ans;
}
}