1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-11 02:11:42 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
2025-08-10 21:35:14 +08:00
parent dee13a03bd
commit f6b8cd3b4b
81 changed files with 19629 additions and 9957 deletions

View File

@@ -0,0 +1,55 @@
<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>