2408. Number of People Aware of a Secret
My accepted Python solution to LeetCode problem 2408, Number of People Aware of a Secret, running in 215ms.
- Difficulty: Medium
- Python
- Runtime 215ms
- Memory 17.2MB
- Updated
Read the problem on LeetCode View on GitHub
The problem statement is LeetCode’s and stays on their site. What follows is my accepted solution.
Python
Accepted on LeetCode — runtime 215ms, memory 17.2MB, accepted 2026-01-02.
class Solution:
def peopleAwareOfSecret(self, n: int, delay: int, forget: int) -> int:
MOD = 10**9 + 7
# dp[i] = number of people who learned secret on day i
dp = [0] * (n + 1)
dp[1] = 1
for day in range(2, n + 1):
# People who learned on days [day-forget+1, day-delay] can share
for prev_day in range(max(1, day - forget + 1), day - delay + 1):
dp[day] = (dp[day] + dp[prev_day]) % MOD
# Count people who haven't forgotten on day n
result = 0
for day in range(max(1, n - forget + 1), n + 1):
result = (result + dp[day]) % MOD
return result