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)/我能赢吗 [can-i-win].html
2022-03-29 12:43:11 +08:00

46 lines
1.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>在 "100 game" 这个游戏中,两名玩家轮流选择从 <code>1</code><code>10</code> 的任意整数,累计整数和,先使得累计整数和 <strong>达到或超过</strong>&nbsp; 100 的玩家,即为胜者。</p>
<p>如果我们将游戏规则改为 “玩家 <strong>不能</strong> 重复使用整数” 呢?</p>
<p>例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 &gt;= 100。</p>
<p>给定两个整数&nbsp;<code>maxChoosableInteger</code>&nbsp;(整数池中可选择的最大数)和&nbsp;<code>desiredTotal</code>(累计和),若先出手的玩家是否能稳赢则返回 <code>true</code>&nbsp;,否则返回 <code>false</code> 。假设两位玩家游戏时都表现 <strong>最佳</strong></p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>maxChoosableInteger = 10, desiredTotal = 11
<strong>输出:</strong>false
<strong>解释:
</strong>无论第一个玩家选择哪个整数,他都会失败。
第一个玩家可以选择从 1 到 10 的整数。
如果第一个玩家选择 1那么第二个玩家只能选择从 2 到 10 的整数。
第二个玩家可以通过选择整数 10那么累积和为 11 &gt;= desiredTotal从而取得胜利.
同样地,第一个玩家选择任意其他整数,第二个玩家都会赢。
</pre>
<p><strong>示例 2:</strong></p>
<pre>
<b>输入:</b>maxChoosableInteger = 10, desiredTotal = 0
<b>输出:</b>true
</pre>
<p><strong>示例 3:</strong></p>
<pre>
<strong>输入:</strong>maxChoosableInteger = 10, desiredTotal = 1
<strong>输出:</strong>true
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= maxChoosableInteger &lt;= 20</code></li>
<li><code>0 &lt;= desiredTotal &lt;= 300</code></li>
</ul>