2
* @param {number[]} tasks3
* @param {number} sessionTime6
var minSessions = function (tasks, sessionTime) {7
const n = tasks.length;8
const dp = Array(1 << n)10
.map(() => Array(16).fill(-1));12
const solve = (mask, time) => {13
if (mask === (1 << n) - 1) {17
if (dp[mask][time] !== -1) {18
return dp[mask][time];22
for (let i = 0; i < n; ++i) {23
if (mask & (1 << i)) {27
if (time >= tasks[i]) {28
min = Math.min(min, solve(mask | (1 << i), time - tasks[i]));30
min = Math.min(min, 1 + solve(mask | (1 << i), sessionTime - tasks[i]));38
return solve(0, sessionTime);