Skip to content

Commit c663f63

Browse files
authored
Update 2327-number-of-people-aware-of-a-secret.js
1 parent 3efdede commit c663f63

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

2327-number-of-people-aware-of-a-secret.js

+26
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,29 @@ const peopleAwareOfSecret = function(n, delay, forget) {
2121
}
2222
return res;
2323
};
24+
25+
// another
26+
27+
/**
28+
* @param {number} n
29+
* @param {number} delay
30+
* @param {number} forget
31+
* @return {number}
32+
*/
33+
const peopleAwareOfSecret = function(n, delay, forget) {
34+
const dp = Array(n + 1).fill(0)
35+
dp[1] = 1
36+
const mod = 1e9 + 7
37+
const { min, max } = Math
38+
let share = 0
39+
for(let i = 2; i <= n; i++) {
40+
share = (share + dp[max(i - delay, 0)] - dp[max(i - forget, 0)] + mod) % mod
41+
dp[i] = share
42+
}
43+
let res = 0
44+
for(let i = n - forget + 1; i <= n; i++) {
45+
res = (res + dp[i]) % mod
46+
}
47+
48+
return res
49+
};

0 commit comments

Comments
 (0)