Skip to content

Commit 19b9b62

Browse files
authored
Update 1751-maximum-number-of-events-that-can-be-attended-ii.js
1 parent 822dff0 commit 19b9b62

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

1751-maximum-number-of-events-that-can-be-attended-ii.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
/**
2+
* @param {number[][]} events
3+
* @param {number} k
4+
* @return {number}
5+
*/
6+
const maxValue = function (events, k) {
7+
const n = events.length
8+
const memo = Array.from({ length: n + 1 }, () => Array(k + 1).fill(-1))
9+
events.sort((a, b) => a[0] === b[0] ? a[1] - b[1] : a[0] - b[0])
10+
return helper(memo, events, n, 0, k)
11+
}
12+
13+
function helper(memo, events, n, i, k) {
14+
if(i === n || k === 0) return 0
15+
if(memo[i][k] !== -1) return memo[i][k]
16+
let ni = i + 1
17+
for(; ni < n; ni++) {
18+
if(events[ni][0] > events[i][1]) break
19+
}
20+
21+
return memo[i][k] = Math.max(
22+
helper(memo, events, n, i + 1, k),
23+
events[i][2] + helper(memo, events, n, ni, k - 1)
24+
)
25+
}
26+
27+
// another
28+
129
/**
230
* @param {number[][]} events
331
* @param {number} k

0 commit comments

Comments
 (0)