1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-02-04 14:40:27 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/删除有序数组中的重复项 [remove-duplicates-from-sorted-array].html

54 lines
2.6 KiB
HTML
Raw Normal View History

2023-12-09 18:42:21 +08:00
<p>给你一个 <strong>非严格递增排列</strong> 的数组 <code>nums</code> ,请你<strong><a href="http://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95" target="_blank"> 原地</a></strong> 删除重复出现的元素,使每个元素 <strong>只出现一次</strong> ,返回删除后数组的新长度。元素的 <strong>相对顺序</strong> 应该保持 <strong>一致</strong> 。然后返回 <code>nums</code> 中唯一元素的个数。</p>
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<p>考虑 <code>nums</code> 的唯一元素的数量为 <code>k</code> ,你需要做以下事情确保你的题解可以被通过:</p>
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<ul>
<li>更改数组 <code>nums</code> ,使 <code>nums</code> 的前 <code>k</code> 个元素包含唯一元素,并按照它们最初在 <code>nums</code> 中出现的顺序排列。<code>nums</code>&nbsp;的其余元素与 <code>nums</code> 的大小不重要。</li>
<li>返回 <code>k</code>&nbsp;</li>
</ul>
2022-03-27 20:56:26 +08:00
<p><strong>判题标准:</strong></p>
<p>系统会用下面的代码来测试你的题解:</p>
<pre>
int[] nums = [...]; // 输入数组
int[] expectedNums = [...]; // 长度正确的期望答案
int k = removeDuplicates(nums); // 调用
assert k == expectedNums.length;
for (int i = 0; i &lt; k; i++) {
assert nums[i] == expectedNums[i];
}</pre>
<p>如果所有断言都通过,那么您的题解将被 <strong>通过</strong></p>
<p>&nbsp;</p>
2023-12-09 18:42:21 +08:00
<p><strong class="example">示例 1</strong></p>
2022-03-27 20:56:26 +08:00
<pre>
<strong>输入:</strong>nums = [1,1,2]
<strong>输出:</strong>2, nums = [1,2,_]
<strong>解释:</strong>函数应该返回新的长度 <strong><code>2</code></strong> ,并且原数组 <em>nums </em>的前两个元素被修改为 <strong><code>1</code></strong>, <strong><code>2 </code></strong><code></code>不需要考虑数组中超出新长度后面的元素。
</pre>
2023-12-09 18:42:21 +08:00
<p><strong class="example">示例 2</strong></p>
2022-03-27 20:56:26 +08:00
<pre>
<strong>输入:</strong>nums = [0,0,1,1,1,2,2,3,3,4]
<strong>输出:</strong>5, nums = [0,1,2,3,4]
<strong>解释:</strong>函数应该返回新的长度 <strong><code>5</code></strong> 并且原数组 <em>nums </em>的前五个元素被修改为 <strong><code>0</code></strong>, <strong><code>1</code></strong>, <strong><code>2</code></strong>, <strong><code>3</code></strong>, <strong><code>4</code></strong> 。不需要考虑数组中超出新长度后面的元素。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
2023-12-09 18:42:21 +08:00
<li><code>1 &lt;= nums.length &lt;= 3 * 10<sup>4</sup></code></li>
2022-03-27 20:56:26 +08:00
<li><code>-10<sup>4</sup> &lt;= nums[i] &lt;= 10<sup>4</sup></code></li>
2023-12-09 18:42:21 +08:00
<li><code>nums</code> 已按 <strong>非严格递增</strong>&nbsp;排列</li>
2022-03-27 20:56:26 +08:00
</ul>