mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
57 lines
2.5 KiB
HTML
57 lines
2.5 KiB
HTML
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>nums</code> 。</p>
|
||
|
||
<p><code>nums</code> 一个长度为 <code>k</code> 的 <strong>子序列</strong> 指的是选出 <code>k</code> 个 <strong>下标</strong> <code>i<sub>0</sub> < i<sub>1</sub> < ... < i<sub>k-1</sub></code> ,如果这个子序列满足以下条件,我们说它是 <strong>平衡的</strong> :</p>
|
||
|
||
<ul>
|
||
<li>对于范围 <code>[1, k - 1]</code> 内的所有 <code>j</code> ,<code>nums[i<sub>j</sub>] - nums[i<sub>j-1</sub>] >= i<sub>j</sub> - i<sub>j-1</sub></code> 都成立。</li>
|
||
</ul>
|
||
|
||
<p><code>nums</code> 长度为 <code>1</code> 的 <strong>子序列</strong> 是平衡的。</p>
|
||
|
||
<p>请你返回一个整数,表示 <code>nums</code> <strong>平衡</strong> 子序列里面的 <strong>最大元素和</strong> 。</p>
|
||
|
||
<p>一个数组的 <strong>子序列</strong> 指的是从原数组中删除一些元素(<strong>也可能一个元素也不删除</strong>)后,剩余元素保持相对顺序得到的 <strong>非空</strong> 新数组。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>nums = [3,3,5,6]
|
||
<b>输出:</b>14
|
||
<b>解释:</b>这个例子中,选择子序列 [3,5,6] ,下标为 0 ,2 和 3 的元素被选中。
|
||
nums[2] - nums[0] >= 2 - 0 。
|
||
nums[3] - nums[2] >= 3 - 2 。
|
||
所以,这是一个平衡子序列,且它的和是所有平衡子序列里最大的。
|
||
包含下标 1 ,2 和 3 的子序列也是一个平衡的子序列。
|
||
最大平衡子序列和为 14 。</pre>
|
||
|
||
<p><strong class="example">示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>nums = [5,-1,-3,8]
|
||
<b>输出:</b>13
|
||
<b>解释:</b>这个例子中,选择子序列 [5,8] ,下标为 0 和 3 的元素被选中。
|
||
nums[3] - nums[0] >= 3 - 0 。
|
||
所以,这是一个平衡子序列,且它的和是所有平衡子序列里最大的。
|
||
最大平衡子序列和为 13 。
|
||
</pre>
|
||
|
||
<p><strong class="example">示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<b>输入:</b>nums = [-2,-1]
|
||
<b>输出:</b>-1
|
||
<b>解释:</b>这个例子中,选择子序列 [-1] 。
|
||
这是一个平衡子序列,而且它的和是 nums 所有平衡子序列里最大的。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
|
||
<li><code>-10<sup>9</sup> <= nums[i] <= 10<sup>9</sup></code></li>
|
||
</ul>
|