mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
50 lines
1.5 KiB
HTML
50 lines
1.5 KiB
HTML
<p>给你一个偶数 <code>n</code> ,已知存在一个长度为 <code>n</code> 的排列 <code>perm</code> ,其中 <code>perm[i] == i</code>(下标 <strong>从 0 开始</strong> 计数)。</p>
|
||
|
||
<p>一步操作中,你将创建一个新数组 <code>arr</code> ,对于每个 <code>i</code> :</p>
|
||
|
||
<ul>
|
||
<li>如果 <code>i % 2 == 0</code> ,那么 <code>arr[i] = perm[i / 2]</code></li>
|
||
<li>如果 <code>i % 2 == 1</code> ,那么 <code>arr[i] = perm[n / 2 + (i - 1) / 2]</code></li>
|
||
</ul>
|
||
|
||
<p>然后将 <code>arr</code> 赋值给 <code>perm</code> 。</p>
|
||
|
||
<p>要想使 <code>perm</code> 回到排列初始值,至少需要执行多少步操作?返回最小的 <strong>非零</strong> 操作步数。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>n = 2
|
||
<strong>输出:</strong>1
|
||
<strong>解释:</strong>最初,perm = [0,1]
|
||
第 1 步操作后,perm = [0,1]
|
||
所以,仅需执行 1 步操作</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>n = 4
|
||
<strong>输出:</strong>2
|
||
<strong>解释:</strong>最初,perm = [0,1,2,3]
|
||
第 1 步操作后,perm = [0,2,1,3]
|
||
第 2 步操作后,perm = [0,1,2,3]
|
||
所以,仅需执行 2 步操作</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>n = 6
|
||
<strong>输出:</strong>4
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>2 <= n <= 1000</code></li>
|
||
<li><code>n</code> 是一个偶数</li>
|
||
</ul>
|