1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/最大和查询 [maximum-sum-queries].html
2023-06-12 23:05:37 +08:00

49 lines
3.4 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>给你两个长度为 <code>n</code> 、下标从 <strong>0</strong> 开始的整数数组 <code>nums1</code><code>nums2</code> ,另给你一个下标从 <strong>1</strong> 开始的二维数组 <code>queries</code> ,其中 <code>queries[i] = [x<sub>i</sub>, y<sub>i</sub>]</code></p>
<p>对于第 <code>i</code> 个查询,在所有满足 <code>nums1[j] &gt;= x<sub>i</sub></code><code>nums2[j] &gt;= y<sub>i</sub></code> 的下标 <code>j</code> <code>(0 &lt;= j &lt; n)</code> 中,找出 <code>nums1[j] + nums2[j]</code><strong>最大值</strong> ,如果不存在满足条件的 <code>j</code> 则返回 <strong>-1</strong></p>
<p>返回数组<em> </em><code>answer</code><em> </em>其中<em> </em><code>answer[i]</code><em> </em>是第 <code>i</code> 个查询的答案。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>nums1 = [4,3,1,2], nums2 = [2,4,9,5], queries = [[4,1],[1,3],[2,5]]
<strong>输出:</strong>[6,10,7]
<strong>解释:</strong>
对于第 1 个查询:<code>x<sub>i</sub> = 4</code>&nbsp;&nbsp;<code>y<sub>i</sub> = 1</code> ,可以选择下标&nbsp;<code>j = 0</code>&nbsp;,此时 <code>nums1[j] &gt;= 4</code>&nbsp;&nbsp;<code>nums2[j] &gt;= 1</code><code>nums1[j] + nums2[j]</code>&nbsp;等于 6 ,可以证明 6 是可以获得的最大值。
对于第 2 个查询:<code>x<sub>i</sub> = 1</code>&nbsp;&nbsp;<code>y<sub>i</sub> = 3</code> ,可以选择下标&nbsp;<code>j = 2</code>&nbsp;,此时 <code>nums1[j] &gt;= 1</code>&nbsp;&nbsp;<code>nums2[j] &gt;= 3</code><code>nums1[j] + nums2[j]</code>&nbsp;等于 10 ,可以证明 10 是可以获得的最大值。
对于第 3 个查询:<code>x<sub>i</sub> = 2</code>&nbsp;&nbsp;<code>y<sub>i</sub> = 5</code> ,可以选择下标&nbsp;<code>j = 3</code>&nbsp;,此时 <code>nums1[j] &gt;= 2</code>&nbsp;&nbsp;<code>nums2[j] &gt;= 5</code><code>nums1[j] + nums2[j]</code>&nbsp;等于 7 ,可以证明 7 是可以获得的最大值。
因此,我们返回&nbsp;<code>[6,10,7]</code>
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>nums1 = [3,2,5], nums2 = [2,3,4], queries = [[4,4],[3,2],[1,1]]
<strong>输出:</strong>[9,9,9]
<strong>解释:</strong>对于这个示例,我们可以选择下标&nbsp;<code>j = 2</code>&nbsp;,该下标可以满足每个查询的限制。
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>nums1 = [2,1], nums2 = [2,3], queries = [[3,3]]
<strong>输出:</strong>[-1]
<strong>解释:</strong>示例中的查询 <code>x<sub>i</sub></code> = 3 且 <code>y<sub>i</sub></code> = 3 。对于每个下标 j ,都只满足 nums1[j] &lt; <code>x<sub>i</sub></code> 或者 nums2[j] &lt; <code>y<sub>i</sub></code> 。因此,不存在答案。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>nums1.length == nums2.length</code>&nbsp;</li>
<li><code>n ==&nbsp;nums1.length&nbsp;</code></li>
<li><code>1 &lt;= n &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= nums1[i], nums2[i] &lt;= 10<sup>9</sup>&nbsp;</code></li>
<li><code>1 &lt;= queries.length &lt;= 10<sup>5</sup></code></li>
<li><code>queries[i].length ==&nbsp;2</code></li>
<li><code>x<sub>i</sub>&nbsp;== queries[i][1]</code></li>
<li><code>y<sub>i</sub> == queries[i][2]</code></li>
<li><code>1 &lt;= x<sub>i</sub>, y<sub>i</sub> &lt;= 10<sup>9</sup></code></li>
</ul>