1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-04 15:01:40 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
leetcode-problemset/leetcode-cn/problem (Chinese)/排序排列 [maximum-k-to-sort-a-permutation].html
2025-08-10 21:35:14 +08:00

56 lines
2.4 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>给你一个长度为 <code>n</code> 的整数数组 <code>nums</code>,其中 <code>nums</code> 是范围 <code>[0..n - 1]</code> 内所有数字的一个&nbsp;<strong>排列&nbsp;</strong></p>
<p>你可以在满足条件 <code>nums[i] AND nums[j] == k</code> 的情况下交换下标&nbsp;<code>i</code><code>j</code> 的元素,其中 <code>AND</code> 表示按位与操作,<code>k</code> 是一个<strong>非负整数</strong></p>
<p>返回可以使数组按&nbsp;<strong>非递减&nbsp;</strong>顺序排序的最大值 <code>k</code>(允许进行任意次这样的交换)。如果 <code>nums</code> 已经是有序的,返回 0。</p>
<p><strong>排列&nbsp;</strong>是数组所有元素的一种重新排列。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><strong>输入:</strong><span class="example-io">nums = [0,3,2,1]</span></p>
<p><strong>输出:</strong><span class="example-io">1</span></p>
<p><strong>解释:</strong></p>
<p>选择 <code>k = 1</code>。交换 <code>nums[1] = 3</code><code>nums[3] = 1</code>,因为 <code>nums[1] AND nums[3] == 1</code>,从而得到一个排序后的排列:<code>[0, 1, 2, 3]</code></p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><strong>输入:</strong><span class="example-io">nums = [0,1,3,2]</span></p>
<p><strong>输出:</strong><span class="example-io">2</span></p>
<p><strong>解释:</strong></p>
<p>选择 <code>k = 2</code>。交换 <code>nums[2] = 3</code><code>nums[3] = 2</code>,因为 <code>nums[2] AND nums[3] == 2</code>,从而得到一个排序后的排列:<code>[0, 1, 2, 3]</code></p>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block">
<p><strong>输入:</strong><span class="example-io">nums = [3,2,1,0]</span></p>
<p><strong>输出:</strong><span class="example-io">0</span></p>
<p><strong>解释:</strong></p>
<p>只有当 <code>k = 0</code> 时,才能进行排序,因为没有更大的 <code>k</code> 能够满足 <code>nums[i] AND nums[j] == k</code> 的交换条件。</p>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= n == nums.length &lt;= 10<sup>5</sup></code></li>
<li><code>0 &lt;= nums[i] &lt;= n - 1</code></li>
<li><code>nums</code> 是从 <code>0</code><code>n - 1</code> 的一个排列。</li>
</ul>