1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 19:18:14 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/算法题(国内版)/problem (Chinese)/使数组变成交替数组的最少操作数 [minimum-operations-to-make-the-array-alternating].html

45 lines
1.8 KiB
HTML
Raw Normal View History

2022-03-27 20:38:29 +08:00
<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>