mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
35 lines
1.6 KiB
HTML
35 lines
1.6 KiB
HTML
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>nums</code> 和一个整数 <code>p</code> 。请你从 <code>nums</code> 中找到 <code>p</code> 个下标对,每个下标对对应数值取差值,你需要使得这 <code>p</code> 个差值的 <strong>最大值</strong> <strong>最小</strong>。同时,你需要确保每个下标在这 <code>p</code> 个下标对中最多出现一次。</p>
|
||
|
||
<p>对于一个下标对 <code>i</code> 和 <code>j</code> ,这一对的差值为 <code>|nums[i] - nums[j]|</code> ,其中 <code>|x|</code> 表示 <code>x</code> 的 <strong>绝对值</strong> 。</p>
|
||
|
||
<p>请你返回 <code>p</code> 个下标对对应数值 <strong>最大差值</strong> 的 <strong>最小值</strong> 。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>nums = [10,1,2,7,1,3], p = 2
|
||
<b>输出:</b>1
|
||
<b>解释:</b>第一个下标对选择 1 和 4 ,第二个下标对选择 2 和 5 。
|
||
最大差值为 max(|nums[1] - nums[4]|, |nums[2] - nums[5]|) = max(0, 1) = 1 。所以我们返回 1 。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>nums = [4,2,1,2], p = 1
|
||
<b>输出:</b>0
|
||
<b>解释:</b>选择下标 1 和 3 构成下标对。差值为 |2 - 2| = 0 ,这是最大差值的最小值。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
|
||
<li><code>0 <= nums[i] <= 10<sup>9</sup></code></li>
|
||
<li><code>0 <= p <= (nums.length)/2</code></li>
|
||
</ul>
|