mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
45 lines
1.8 KiB
HTML
45 lines
1.8 KiB
HTML
<p>给你一个下标从 <strong>0</strong> 开始的数组 <code>nums</code> ,该数组由 <code>n</code> 个正整数组成。</p>
|
||
|
||
<p>如果满足下述条件,则数组 <code>nums</code> 是一个 <strong>交替数组</strong> :</p>
|
||
|
||
<ul>
|
||
<li><code>nums[i - 2] == nums[i]</code> ,其中 <code>2 <= i <= n - 1</code> 。</li>
|
||
<li><code>nums[i - 1] != nums[i]</code> ,其中 <code>1 <= i <= n - 1</code> 。</li>
|
||
</ul>
|
||
|
||
<p>在一步 <strong>操作</strong> 中,你可以选择下标 <code>i</code> 并将 <code>nums[i]</code> <strong>更改</strong> 为 <strong>任一</strong> 正整数。</p>
|
||
|
||
<p>返回使数组变成交替数组的 <strong>最少操作数</strong> 。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>nums = [3,1,3,2,4,3]
|
||
<strong>输出:</strong>3
|
||
<strong>解释:</strong>
|
||
使数组变成交替数组的方法之一是将该数组转换为 [3,1,3,<em><strong>1</strong></em>,<em><strong>3</strong></em>,<em><strong>1</strong></em>] 。
|
||
在这种情况下,操作数为 3 。
|
||
可以证明,操作数少于 3 的情况下,无法使数组变成交替数组。</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>nums = [1,2,2,2,2]
|
||
<strong>输出:</strong>2
|
||
<strong>解释:</strong>
|
||
使数组变成交替数组的方法之一是将该数组转换为 [1,2,<em><strong>1</strong></em>,2,<em><strong>1</strong></em>].
|
||
在这种情况下,操作数为 2 。
|
||
注意,数组不能转换成 [<em><strong>2</strong></em>,2,2,2,2] 。因为在这种情况下,nums[0] == nums[1],不满足交替数组的条件。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
|
||
<li><code>1 <= nums[i] <= 10<sup>5</sup></code></li>
|
||
</ul>
|