Class Solution
java.lang.Object
g1601_1700.s1665_minimum_initial_energy_to_finish_tasks.Solution
1665 - Minimum Initial Energy to Finish Tasks\.
Hard
You are given an array `tasks` where
tasks[i] = [actuali, minimumi]
:
* actuali
is the actual amount of energy you **spend to finish** the ith
task.
* minimumi
is the minimum amount of energy you **require to begin** the ith
task.
For example, if the task is `[10, 12]` and your current energy is `11`, you cannot start this task. However, if your current energy is `13`, you can complete this task, and your energy will be `3` after finishing it.
You can finish the tasks in **any order** you like.
Return _the **minimum** initial amount of energy you will need_ _to finish all the tasks_.
**Example 1:**
**Input:** tasks = \[\[1,2],[2,4],[4,8]]
**Output:** 8
**Explanation:**
Starting with 8 energy, we finish the tasks in the following order:
- 3rd task. Now energy = 8 - 4 = 4.
- 2nd task. Now energy = 4 - 2 = 2.
- 1st task. Now energy = 2 - 1 = 1.
Notice that even though we have leftover energy, starting with 7 energy does not work because we cannot do the 3rd task.
**Example 2:**
**Input:** tasks = \[\[1,3],[2,4],[10,11],[10,12],[8,9]]
**Output:** 32
**Explanation:**
Starting with 32 energy, we finish the tasks in the following order:
- 1st task. Now energy = 32 - 1 = 31.
- 2nd task. Now energy = 31 - 2 = 29.
- 3rd task. Now energy = 29 - 10 = 19.
- 4th task. Now energy = 19 - 10 = 9.
- 5th task. Now energy = 9 - 8 = 1.
**Example 3:**
**Input:** tasks = \[\[1,7],[2,8],[3,9],[4,10],[5,11],[6,12]]
**Output:** 27
**Explanation:**
Starting with 27 energy, we finish the tasks in the following order:
- 5th task. Now energy = 27 - 5 = 22.
- 2nd task. Now energy = 22 - 2 = 20.
- 3rd task. Now energy = 20 - 3 = 17.
- 1st task. Now energy = 17 - 1 = 16.
- 4th task. Now energy = 16 - 4 = 12.
- 6th task. Now energy = 12 - 6 = 6.
**Constraints:**
* 1 <= tasks.length <= 105
* 1 <= actuali <= minimumi <= 104
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
minimumEffort
public int minimumEffort(int[][] tasks)
-