1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/知道秘密的人数 [number-of-people-aware-of-a-secret].html

41 lines
2.1 KiB
HTML
Raw Normal View History

2022-07-12 21:08:31 +08:00
<p>在第 <code>1</code>&nbsp;天,有一个人发现了一个秘密。</p>
<p>给你一个整数&nbsp;<code>delay</code>&nbsp;,表示每个人会在发现秘密后的 <code>delay</code>&nbsp;天之后,<strong>每天</strong>&nbsp;给一个新的人&nbsp;<strong>分享</strong>&nbsp;秘密。同时给你一个整数&nbsp;<code>forget</code>&nbsp;,表示每个人在发现秘密&nbsp;<code>forget</code>&nbsp;天之后会&nbsp;<strong>忘记</strong>&nbsp;这个秘密。一个人&nbsp;<strong>不能</strong>&nbsp;在忘记秘密那一天及之后的日子里分享秘密。</p>
<p>给你一个整数&nbsp;<code>n</code>&nbsp;,请你返回在第 <code>n</code>&nbsp;天结束时,知道秘密的人数。由于答案可能会很大,请你将结果对&nbsp;<code>10<sup>9</sup> + 7</code>&nbsp;<strong>取余</strong>&nbsp;后返回。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><b>输入:</b>n = 6, delay = 2, forget = 4
<b>输出:</b>5
<strong>解释:</strong>
第 1 天:假设第一个人叫 A 。(一个人知道秘密)
第 2 天A 是唯一一个知道秘密的人。(一个人知道秘密)
第 3 天A 把秘密分享给 B 。(两个人知道秘密)
第 4 天A 把秘密分享给一个新的人 C 。(三个人知道秘密)
第 5 天A 忘记了秘密B 把秘密分享给一个新的人 D 。(三个人知道秘密)
第 6 天B 把秘密分享给 EC 把秘密分享给 F 。(五个人知道秘密)
</pre>
<p><strong>示例 2</strong></p>
<pre><b>输入:</b>n = 4, delay = 1, forget = 3
<b>输出:</b>6
<strong>解释:</strong>
第 1 天:第一个知道秘密的人为 A 。(一个人知道秘密)
第 2 天A 把秘密分享给 B 。(两个人知道秘密)
第 3 天A 和 B 把秘密分享给 2 个新的人 C 和 D 。(四个人知道秘密)
第 4 天A 忘记了秘密B、C、D 分别分享给 3 个新的人。(六个人知道秘密)
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>2 &lt;= n &lt;= 1000</code></li>
<li><code>1 &lt;= delay &lt; forget &lt;= n</code></li>
</ul>