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)/数组的最大公因数排序 [gcd-sort-of-an-array].html
2022-03-29 12:43:11 +08:00

46 lines
1.9 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>nums</code> ,你可以在 <code>nums</code> 上执行下述操作 <strong>任意次</strong> </p>
<ul>
<li>如果 <code>gcd(nums[i], nums[j]) &gt; 1</code> ,交换 <code>nums[i]</code><code>nums[j]</code> 的位置。其中 <code>gcd(nums[i], nums[j])</code>&nbsp;<code>nums[i]</code><code>nums[j]</code> 的最大公因数。</li>
</ul>
<p>如果能使用上述交换方式将 <code>nums</code><strong>非递减顺序</strong> 排列,返回 <code>true</code> ;否则,返回 <code>false</code></p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>nums = [7,21,3]
<strong>输出:</strong>true
<strong>解释:</strong>可以执行下述操作完成对 [7,21,3] 的排序:
- 交换 7 和 21 因为 gcd(7,21) = 7 。nums = [<em><strong>21</strong></em>,<em><strong>7</strong></em>,3]
- 交换 21 和 3 因为 gcd(21,3) = 3 。nums = [<em><strong>3</strong></em>,7,<em><strong>21</strong></em>]
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>nums = [5,2,6,2]
<strong>输出:</strong>false
<strong>解释:</strong>无法完成排序,因为 5 不能与其他元素交换。
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>nums = [10,5,9,3,15]
<strong>输出:</strong>true
<strong>解释:</strong>
可以执行下述操作完成对 [10,5,9,3,15] 的排序:
- 交换 10 和 15 因为 gcd(10,15) = 5 。nums = [<em><strong>15</strong></em>,5,9,3,<em><strong>10</strong></em>]
- 交换 15 和 3 因为 gcd(15,3) = 3 。nums = [<em><strong>3</strong></em>,5,9,<em><strong>15</strong></em>,10]
- 交换 10 和 15 因为 gcd(10,15) = 5 。nums = [3,5,9,<em><strong>10</strong></em>,<em><strong>15</strong></em>]
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nums.length &lt;= 3 * 10<sup>4</sup></code></li>
<li><code>2 &lt;= nums[i] &lt;= 10<sup>5</sup></code></li>
</ul>