Skip to content

Commit 6e6292d

Browse files
authored
Update 1723-find-minimum-time-to-finish-all-jobs.js
1 parent 095007b commit 6e6292d

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

1723-find-minimum-time-to-finish-all-jobs.js

+34
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
/**
2+
* @param {number[]} jobs
3+
* @param {number} k
4+
* @return {number}
5+
*/
6+
const minimumTimeRequired = function(jobs, k) {
7+
const workers = Array(k).fill(0)
8+
let res = Infinity
9+
const n = jobs.length
10+
11+
dfs(0)
12+
13+
return res
14+
15+
function dfs(idx) {
16+
if(idx === n) {
17+
res = Math.min(res, Math.max(...workers))
18+
return
19+
}
20+
const visited = new Set()
21+
const e = jobs[idx]
22+
for(let i = 0; i < k; i++) {
23+
if(visited.has(workers[i])) continue
24+
if(workers[i] + e >= res) continue
25+
visited.add(workers[i])
26+
workers[i] += e
27+
dfs(idx + 1)
28+
workers[i] -= e
29+
}
30+
}
31+
};
32+
33+
// another
34+
135
/**
236
* @param {number[]} jobs
337
* @param {number} k

0 commit comments

Comments
 (0)