Skip to content

Commit ddc3048

Browse files
authored
Create 1665. Minimum Initial Energy to Finish Tasks.java
1 parent eea6d87 commit ddc3048

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// o(n log n)
2+
// 최소 필요 에너지 - 실제 소비 에너지가 큰 작업부터 처리
3+
4+
import java.util.Arrays;
5+
6+
class Solution {
7+
public int minimumEffort(int[][] tasks) {
8+
Arrays.sort(tasks, (a, b) -> {
9+
int gapA = a[1] - a[0];
10+
int gapB = b[1] - b[0];
11+
return Integer.compare(gapB, gapA);
12+
});
13+
14+
int minimumEnergy = 0;
15+
int spentEnergy = 0;
16+
17+
for (int[] task : tasks) {
18+
int actual = task[0];
19+
int minimum = task[1];
20+
minimumEnergy = Math.max(minimumEnergy, spentEnergy + minimum);
21+
spentEnergy += actual;
22+
}
23+
24+
return minimumEnergy;
25+
}
26+
}

0 commit comments

Comments
 (0)