mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
50 lines
2.3 KiB
HTML
50 lines
2.3 KiB
HTML
<p>给你一个整数数组 <code>nums</code> 和一个 <strong>非负</strong> 整数 <code>k</code> 。</p>
|
||
|
||
<p>一次操作中,你可以选择任一下标 <code>i</code> ,然后将 <code>nums[i]</code> 加 <code>1</code> 或者减 <code>1</code> 。</p>
|
||
|
||
<p>请你返回将 <code>nums</code> <strong>中位数</strong> 变为 <code>k</code> 所需要的 <strong>最少</strong> 操作次数。</p>
|
||
|
||
<p>一个数组的 <strong>中位数</strong> 指的是数组按 <strong>非递减</strong> 顺序排序后最中间的元素。如果数组长度为偶数,我们选择中间两个数的较大值为中位数。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 1:</strong></p>
|
||
|
||
<div class="example-block">
|
||
<p><span class="example-io"><b>输入:</b>nums = [2,5,6,8,5], k = 4</span></p>
|
||
|
||
<p><span class="example-io"><b>输出:</b>2</span></p>
|
||
|
||
<p><b>解释:</b>我们将 <code>nums[1]</code> 和 <code>nums[4]</code> 减 <code>1</code> 得到 <code>[2, 4, 6, 8, 4]</code> 。现在数组的中位数等于 <code>k</code> 。所以答案为 2 。</p>
|
||
</div>
|
||
|
||
<p><strong class="example">示例 2:</strong></p>
|
||
|
||
<div class="example-block">
|
||
<p><span class="example-io"><b>输入:</b>nums = [2,5,6,8,5], k = 7</span></p>
|
||
|
||
<p><span class="example-io"><b>输出:</b>3</span></p>
|
||
|
||
<p><b>解释:</b>我们将 <code>nums[1]</code> 增加 1 两次,并且将 <code>nums[2]</code> 增加 1 一次,得到 <code>[2, 7, 7, 8, 5]</code> 。结果数组的中位数等于 <code>k</code> 。所以答案为 3 。</p>
|
||
</div>
|
||
|
||
<p><strong class="example">示例 3:</strong></p>
|
||
|
||
<div class="example-block">
|
||
<p><span class="example-io"><b>输入:</b>nums = [1,2,3,4,5,6], k = 4</span></p>
|
||
|
||
<p><span class="example-io"><b>输出:</b>0</span></p>
|
||
|
||
<p><b>解释:</b>数组中位数已经等于 <code>k</code> 了,所以不需要进行任何操作。</p>
|
||
</div>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= nums.length <= 2 * 10<sup>5</sup></code></li>
|
||
<li><code>1 <= nums[i] <= 10<sup>9</sup></code></li>
|
||
<li><code>1 <= k <= 10<sup>9</sup></code></li>
|
||
</ul>
|