1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-27 02:30:28 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/检查数组是否是好的 [check-if-array-is-good].html

45 lines
2.3 KiB
HTML
Raw Normal View History

2023-08-11 23:36:00 +08:00
<p>给你一个整数数组&nbsp;<code>nums</code>&nbsp;,如果它是数组&nbsp;<code>base[n]</code>&nbsp;的一个排列,我们称它是个&nbsp;<strong></strong>&nbsp;数组。</p>
<p><code>base[n] = [1, 2, ..., n - 1, n, n]</code>&nbsp;(换句话说,它是一个长度为 <code>n + 1</code>&nbsp;且包含&nbsp;<code>1</code>&nbsp;&nbsp;<code>n - 1</code>&nbsp;恰好各一次,包含 <code>n</code>&nbsp; 两次的一个数组)。比方说,<code>base[1] = [1, 1]</code>&nbsp;<code>base[3] = [1, 2, 3, 3]</code>&nbsp;</p>
<p>如果数组是一个好数组,请你返回&nbsp;<code>true</code>&nbsp;,否则返回&nbsp;<code>false</code>&nbsp;</p>
<p><strong>注意:</strong>数组的排列是这些数字按任意顺序排布后重新得到的数组。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><b>输入:</b>nums = [2, 1, 3]
<b>输出:</b>false
<b>解释:</b>因为数组的最大元素是 3 ,唯一可以构成这个数组的 base[n] 对应的 n = 3 。但是 base[3] 有 4 个元素,但数组 nums 只有 3 个元素,所以无法得到 base[3] = [1, 2, 3, 3] 的排列,所以答案为 false 。
</pre>
<p><strong>示例 2</strong></p>
<pre><b>输入:</b>nums = [1, 3, 3, 2]
<b>输出:</b>true
<b>解释:因为</b>数组的最大元素是 3 ,唯一可以构成这个数组的 base[n] 对应的 n = 3 ,可以看出数组是 base[3] = [1, 2, 3, 3] 的一个排列(交换 nums 中第二个和第四个元素)。所以答案为 true 。</pre>
<p><strong>示例 3</strong></p>
<pre><b>输入:</b>nums = [1, 1]
<b>输出:</b>true
<b>解释:</b>因为数组的最大元素是 1 ,唯一可以构成这个数组的 base[n] 对应的 n = 1可以看出数组是 base[1] = [1, 1] 的一个排列。所以答案为 true 。</pre>
<p><strong>示例 4</strong></p>
<pre><b>输入:</b>nums = [3, 4, 4, 1, 2, 1]
<b>输出:</b>false
<b>解释:</b>因为数组的最大元素是 4 ,唯一可以构成这个数组的 base[n] 对应的 n = 4 。但是 base[n] 有 5 个元素而 nums 有 6 个元素。所以答案为 false 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nums.length &lt;= 100</code></li>
<li><code>1 &lt;= num[i] &lt;= 200</code></li>
</ul>