Class Solution
-
- All Implemented Interfaces:
public final class Solution1986 - Minimum Number of Work Sessions to Finish the Tasks.
Medium
There are
ntasks assigned to you. The task times are represented as an integer arraytasksof lengthn, where the <code>i<sup>th</sup></code> task takestasks[i]hours to finish. A work session is when you work for at mostsessionTimeconsecutive hours and then take a break.You should finish the given tasks in a way that satisfies the following conditions:
If you start a task in a work session, you must complete it in the same work session.
You can start a new task immediately after finishing the previous one.
You may complete the tasks in any order.
Given
tasksandsessionTime, return the minimum number of work sessions needed to finish all the tasks following the conditions above.The tests are generated such that
sessionTimeis greater than or equal to the maximum element intasks[i].Example 1:
Input: tasks = 1,2,3, sessionTime = 3
Output: 2
Explanation: You can finish the tasks in two work sessions.
First work session: finish the first and the second tasks in 1 + 2 = 3 hours.
Second work session: finish the third task in 3 hours.
Example 2:
Input: tasks = 3,1,3,1,1, sessionTime = 8
Output: 2
Explanation: You can finish the tasks in two work sessions.
First work session: finish all the tasks except the last one in 3 + 1 + 3 + 1 = 8 hours.
Second work session: finish the last task in 1 hour.
Example 3:
Input: tasks = 1,2,3,4,5, sessionTime = 15
Output: 1
Explanation: You can finish all the tasks in one work session.
Constraints:
n == tasks.length1 <= n <= 141 <= tasks[i] <= 10max(tasks[i]) <= sessionTime <= 15
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegerminSessions(IntArray tasks, Integer sessionTime)-
-
Method Detail
-
minSessions
final Integer minSessions(IntArray tasks, Integer sessionTime)
-
-
-
-