mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
47 lines
2.3 KiB
HTML
47 lines
2.3 KiB
HTML
<p>有一个整数数组 <code>nums</code> ,和一个查询数组 <code>requests</code> ,其中 <code>requests[i] = [start<sub>i</sub>, end<sub>i</sub>]</code> 。第 <code>i</code> 个查询求 <code>nums[start<sub>i</sub>] + nums[start<sub>i</sub> + 1] + ... + nums[end<sub>i</sub> - 1] + nums[end<sub>i</sub>]</code> 的结果 ,<code>start<sub>i</sub></code> 和 <code>end<sub>i</sub></code> 数组索引都是 <strong>从 0 开始</strong> 的。</p>
|
||
|
||
<p>你可以任意排列 <code>nums</code> 中的数字,请你返回所有查询结果之和的最大值。</p>
|
||
|
||
<p>由于答案可能会很大,请你将它对 <code>10<sup>9</sup> + 7</code> <strong>取余</strong> 后返回。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre><strong>输入:</strong>nums = [1,2,3,4,5], requests = [[1,3],[0,1]]
|
||
<strong>输出:</strong>19
|
||
<strong>解释:</strong>一个可行的 nums 排列为 [2,1,3,4,5],并有如下结果:
|
||
requests[0] -> nums[1] + nums[2] + nums[3] = 1 + 3 + 4 = 8
|
||
requests[1] -> nums[0] + nums[1] = 2 + 1 = 3
|
||
总和为:8 + 3 = 11。
|
||
一个总和更大的排列为 [3,5,4,2,1],并有如下结果:
|
||
requests[0] -> nums[1] + nums[2] + nums[3] = 5 + 4 + 2 = 11
|
||
requests[1] -> nums[0] + nums[1] = 3 + 5 = 8
|
||
总和为: 11 + 8 = 19,这个方案是所有排列中查询之和最大的结果。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><strong>输入:</strong>nums = [1,2,3,4,5,6], requests = [[0,1]]
|
||
<strong>输出:</strong>11
|
||
<strong>解释:</strong>一个总和最大的排列为 [6,5,4,3,2,1] ,查询和为 [11]。</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre><strong>输入:</strong>nums = [1,2,3,4,5,10], requests = [[0,2],[1,3],[1,1]]
|
||
<strong>输出:</strong>47
|
||
<strong>解释:</strong>一个和最大的排列为 [4,10,5,3,2,1] ,查询结果分别为 [19,18,10]。</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>n == nums.length</code></li>
|
||
<li><code>1 <= n <= 10<sup>5</sup></code></li>
|
||
<li><code>0 <= nums[i] <= 10<sup>5</sup></code></li>
|
||
<li><code>1 <= requests.length <= 10<sup>5</sup></code></li>
|
||
<li><code>requests[i].length == 2</code></li>
|
||
<li><code>0 <= start<sub>i</sub> <= end<sub>i</sub> < n</code></li>
|
||
</ul>
|