mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-07 00:11:41 +08:00
50 lines
1.6 KiB
HTML
50 lines
1.6 KiB
HTML
<p>有两个水壶,容量分别为 <code>x</code> 和 <code>y</code> 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 <code>target</code> 升。</p>
|
||
|
||
<p>你可以:</p>
|
||
|
||
<ul>
|
||
<li>装满任意一个水壶</li>
|
||
<li>清空任意一个水壶</li>
|
||
<li>将水从一个水壶倒入另一个水壶,直到接水壶已满,或倒水壶已空。</li>
|
||
</ul>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong> </p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong> x = 3,y = 5,target = 4
|
||
<strong>输出:</strong> true
|
||
<strong>解释:
|
||
</strong>按照以下步骤操作,以达到总共 4 升水:
|
||
1. 装满 5 升的水壶(0, 5)。
|
||
2. 把 5 升的水壶倒进 3 升的水壶,留下 2 升(3, 2)。
|
||
3. 倒空 3 升的水壶(0, 2)。
|
||
4. 把 2 升水从 5 升的水壶转移到 3 升的水壶(2, 0)。
|
||
5. 再次加满 5 升的水壶(2, 5)。
|
||
6. 从 5 升的水壶向 3 升的水壶倒水直到 3 升的水壶倒满。5 升的水壶里留下了 4 升水(3, 4)。
|
||
7. 倒空 3 升的水壶。现在,5 升的水壶里正好有 4 升水(0, 4)。
|
||
参考:来自著名的 <a href="https://www.youtube.com/watch?v=BVtQNK_ZUJg"><em>"Die Hard"</em></a></pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong> x = 2, y = 6, target = 5
|
||
<strong>输出:</strong> false
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong> x = 1, y = 2, target = 3
|
||
<strong>输出:</strong> true
|
||
<b>解释:</b>同时倒满两个水壶。现在两个水壶中水的总量等于 3。</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= x, y, target <= 10<sup>3</sup></code></li>
|
||
</ul>
|