mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
65 lines
3.5 KiB
HTML
65 lines
3.5 KiB
HTML
<p>给你 <code>n</code> 个任务和 <code>m</code> 个工人。每个任务需要一定的力量值才能完成,需要的力量值保存在下标从 <strong>0</strong> 开始的整数数组 <code>tasks</code> 中,第 <code>i</code> 个任务需要 <code>tasks[i]</code> 的力量才能完成。每个工人的力量值保存在下标从 <strong>0</strong> 开始的整数数组 <code>workers</code> 中,第 <code>j</code> 个工人的力量值为 <code>workers[j]</code> 。每个工人只能完成 <strong>一个</strong> 任务,且力量值需要 <strong>大于等于</strong> 该任务的力量要求值(即 <code>workers[j] >= tasks[i]</code> )。</p>
|
||
|
||
<p>除此以外,你还有 <code>pills</code> 个神奇药丸,可以给 <strong>一个工人的力量值</strong> 增加 <code>strength</code> 。你可以决定给哪些工人使用药丸,但每个工人 <strong>最多</strong> 只能使用 <strong>一片</strong> 药丸。</p>
|
||
|
||
<p>给你下标从 <strong>0</strong> 开始的整数数组<code>tasks</code> 和 <code>workers</code> 以及两个整数 <code>pills</code> 和 <code>strength</code> ,请你返回 <strong>最多</strong> 有多少个任务可以被完成。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre><b>输入:</b>tasks = [<em><strong>3</strong></em>,<em><strong>2</strong></em>,<em><strong>1</strong></em>], workers = [<em><strong>0</strong></em>,<em><strong>3</strong></em>,<em><strong>3</strong></em>], pills = 1, strength = 1
|
||
<b>输出:</b>3
|
||
<strong>解释:</strong>
|
||
我们可以按照如下方案安排药丸:
|
||
- 给 0 号工人药丸。
|
||
- 0 号工人完成任务 2(0 + 1 >= 1)
|
||
- 1 号工人完成任务 1(3 >= 2)
|
||
- 2 号工人完成任务 0(3 >= 3)
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><b>输入:</b>tasks = [<em><strong>5</strong></em>,4], workers = [<em><strong>0</strong></em>,0,0], pills = 1, strength = 5
|
||
<b>输出:</b>1
|
||
<strong>解释:</strong>
|
||
我们可以按照如下方案安排药丸:
|
||
- 给 0 号工人药丸。
|
||
- 0 号工人完成任务 0(0 + 5 >= 5)
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre><b>输入:</b>tasks = [<em><strong>10</strong></em>,<em><strong>15</strong></em>,30], workers = [<em><strong>0</strong></em>,<em><strong>10</strong></em>,10,10,10], pills = 3, strength = 10
|
||
<b>输出:</b>2
|
||
<strong>解释:</strong>
|
||
我们可以按照如下方案安排药丸:
|
||
- 给 0 号和 1 号工人药丸。
|
||
- 0 号工人完成任务 0(0 + 10 >= 10)
|
||
- 1 号工人完成任务 1(10 + 10 >= 15)
|
||
</pre>
|
||
|
||
<p><strong>示例 4:</strong></p>
|
||
|
||
<pre><b>输入:</b>tasks = [<em><strong>5</strong></em>,9,<em><strong>8</strong></em>,<em><strong>5</strong></em>,9], workers = [1,<em><strong>6</strong></em>,<em><strong>4</strong></em>,2,<em><strong>6</strong></em>], pills = 1, strength = 5
|
||
<b>输出:</b>3
|
||
<strong>解释:</strong>
|
||
我们可以按照如下方案安排药丸:
|
||
- 给 2 号工人药丸。
|
||
- 1 号工人完成任务 0(6 >= 5)
|
||
- 2 号工人完成任务 2(4 + 5 >= 8)
|
||
- 4 号工人完成任务 3(6 >= 5)
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>n == tasks.length</code></li>
|
||
<li><code>m == workers.length</code></li>
|
||
<li><code>1 <= n, m <= 5 * 10<sup>4</sup></code></li>
|
||
<li><code>0 <= pills <= m</code></li>
|
||
<li><code>0 <= tasks[i], workers[j], strength <= 10<sup>9</sup></code></li>
|
||
</ul>
|