1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-12 02:41:42 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
leetcode-problemset/leetcode-cn/problem (Chinese)/将数组变相同的最小代价 [minimum-cost-to-make-arrays-identical].html
2025-02-02 13:55:38 +08:00

57 lines
2.5 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>&nbsp;的整数数组&nbsp;<code>arr</code>&nbsp;<code>brr</code>&nbsp;以及一个整数&nbsp;<code>k</code>&nbsp;。你可以对 <code>arr</code>&nbsp;执行以下操作任意次:</p>
<ul>
<li>&nbsp;<code>arr</code>&nbsp;分割成若干个&nbsp;<strong>连续的</strong>&nbsp;子数组,并将这些子数组按任意顺序重新排列。这个操作的代价为&nbsp;<code>k</code>&nbsp;</li>
<li>
<p>选择 <code>arr</code>&nbsp;中的任意一个元素,将它增加或者减少一个正整数&nbsp;<code>x</code>&nbsp;。这个操作的代价为 <code>x</code>&nbsp;</p>
</li>
</ul>
<p>请你返回将 <code>arr</code>&nbsp;变为 <code>brr</code>&nbsp;<strong>最小</strong>&nbsp;总代价。</p>
<p><strong>子数组</strong>&nbsp;是一个数组中一段连续 <strong>非空</strong>&nbsp;的元素序列。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>arr = [-7,9,5], brr = [7,-2,-5], k = 2</span></p>
<p><span class="example-io"><b>输出:</b>13</span></p>
<p><b>解释:</b></p>
<ul>
<li>&nbsp;<code>arr</code>&nbsp;分割成两个连续子数组:<code>[-7]</code>&nbsp;<code>[9, 5]</code>&nbsp;然后将它们重新排列成&nbsp;<code>[9, 5, -7]</code>&nbsp;,代价为 2 。</li>
<li>&nbsp;<code>arr[0]</code>&nbsp;减小 2 ,数组变为&nbsp;<code>[7, 5, -7]</code>&nbsp;,操作代价为 2 。</li>
<li>&nbsp;<code>arr[1]</code>&nbsp;减小 7 ,数组变为&nbsp;<code>[7, -2, -7]</code>&nbsp;,操作代价为 7 。</li>
<li>&nbsp;<code>arr[2]</code>&nbsp;增加 2 ,数组变为&nbsp;<code>[7, -2, -5]</code>&nbsp;,操作代价为 2 。</li>
</ul>
<p>将两个数组变相等的总代价为&nbsp;<code>2 + 2 + 7 + 2 = 13</code>&nbsp;</p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>arr = [2,1], brr = [2,1], k = 0</span></p>
<p><span class="example-io"><b>输出:</b>0</span></p>
<p><b>解释:</b></p>
<p>由于数组已经相等,不需要进行任何操作,所以总代价为 0 。</p>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= arr.length == brr.length &lt;= 10<sup>5</sup></code></li>
<li><code>0 &lt;= k &lt;= 2 * 10<sup>10</sup></code></li>
<li><code>-10<sup>5</sup> &lt;= arr[i] &lt;= 10<sup>5</sup></code></li>
<li><code>-10<sup>5</sup> &lt;= brr[i] &lt;= 10<sup>5</sup></code></li>
</ul>