mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
42 lines
1.5 KiB
HTML
42 lines
1.5 KiB
HTML
|
<p>给你一个整数数组 <code>nums</code> 和一个目标值 <code>goal</code> 。</p>
|
|||
|
|
|||
|
<p>你需要从 <code>nums</code> 中选出一个子序列,使子序列元素总和最接近 <code>goal</code> 。也就是说,如果子序列元素和为 <code>sum</code> ,你需要 <strong>最小化绝对差</strong> <code>abs(sum - goal)</code> 。</p>
|
|||
|
|
|||
|
<p>返回 <code>abs(sum - goal)</code> 可能的 <strong>最小值</strong> 。</p>
|
|||
|
|
|||
|
<p>注意,数组的子序列是通过移除原始数组中的某些元素(可能全部或无)而形成的数组。</p>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>示例 1:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>nums = [5,-7,3,5], goal = 6
|
|||
|
<strong>输出:</strong>0
|
|||
|
<strong>解释:</strong>选择整个数组作为选出的子序列,元素和为 6 。
|
|||
|
子序列和与目标值相等,所以绝对差为 0 。
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong>示例 2:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>nums = [7,-9,15,-2], goal = -5
|
|||
|
<strong>输出:</strong>1
|
|||
|
<strong>解释:</strong>选出子序列 [7,-9,-2] ,元素和为 -4 。
|
|||
|
绝对差为 abs(-4 - (-5)) = abs(1) = 1 ,是可能的最小值。
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong>示例 3:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>nums = [1,2,3], goal = -7
|
|||
|
<strong>输出:</strong>7
|
|||
|
</pre>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>提示:</strong></p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><code>1 <= nums.length <= 40</code></li>
|
|||
|
<li><code>-10<sup>7</sup> <= nums[i] <= 10<sup>7</sup></code></li>
|
|||
|
<li><code>-10<sup>9</sup> <= goal <= 10<sup>9</sup></code></li>
|
|||
|
</ul>
|