1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/使数组变成交替数组的最少操作数 [minimum-operations-to-make-the-array-alternating].html
2022-03-29 12:43:11 +08:00

45 lines
1.8 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>给你一个下标从 <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 &lt;= i &lt;= n - 1</code></li>
<li><code>nums[i - 1] != nums[i]</code> ,其中 <code>1 &lt;= i &lt;= 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>&nbsp;</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>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nums.length &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= nums[i] &lt;= 10<sup>5</sup></code></li>
</ul>