mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-07 00:11:41 +08:00
41 lines
2.1 KiB
HTML
41 lines
2.1 KiB
HTML
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>nums</code> 。如果 <code>nums</code> 中长度为 <code>m</code> 的子数组 <code>s</code> 满足以下条件,我们称它是一个 <strong>交替子数组</strong> :</p>
|
||
|
||
<ul>
|
||
<li><code>m</code> 大于 <code>1</code> 。</li>
|
||
<li><code>s<sub>1</sub> = s<sub>0</sub> + 1</code> 。</li>
|
||
<li>下标从 <strong>0</strong> 开始的子数组 <code>s</code> 与数组 <code>[s<sub>0</sub>, s<sub>1</sub>, s<sub>0</sub>, s<sub>1</sub>,...,s<sub>(m-1) % 2</sub>]</code> 一样。也就是说,<code>s<sub>1</sub> - s<sub>0</sub> = 1</code> ,<code>s<sub>2</sub> - s<sub>1</sub> = -1</code> ,<code>s<sub>3</sub> - s<sub>2</sub> = 1</code> ,<code>s<sub>4</sub> - s<sub>3</sub> = -1</code> ,以此类推,直到 <code>s[m - 1] - s[m - 2] = (-1)<sup>m</sup></code> 。</li>
|
||
</ul>
|
||
|
||
<p>请你返回 <code>nums</code> 中所有 <strong>交替</strong> 子数组中,最长的长度,如果不存在交替子数组,请你返回 <code>-1</code> 。</p>
|
||
|
||
<p>子数组是一个数组中一段连续 <strong>非空</strong> 的元素序列。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 1:</strong></p>
|
||
|
||
<div class="example-block"><b>输入:</b>nums = [2,3,4,3,4]</div>
|
||
|
||
<div class="example-block"><b>输出:</b>4</div>
|
||
|
||
<div class="example-block"><b>解释:</b>交替子数组有 <code>[2,3]</code>,<code>[3,4]</code>,<code>[3,4,3]</code> 和 <code>[3,4,3,4]</code>。最长的子数组为 <code>[3,4,3,4]</code>,长度为 4。</div>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 2:</strong></p>
|
||
|
||
<div class="example-block"><b>输入:</b>nums = [4,5,6]</div>
|
||
|
||
<div class="example-block"><b>输出:</b>2</div>
|
||
|
||
<div class="example-block"><strong>解释:</strong><code>[4,5]</code> 和 <code>[5,6]</code> 是仅有的两个交替子数组。它们长度都为 2 。</div>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>2 <= nums.length <= 100</code></li>
|
||
<li><code>1 <= nums[i] <= 10<sup>4</sup></code></li>
|
||
</ul>
|