题目描述
题目描述
题解
题解
提交记录
提交记录
简单

给你一个 按升序排序 的整数数组 nums 和一个整数 k

返回一个数组,使得每个 不同 元素最多出现 k 次,同时保持 nums 中元素的相对顺序不变。

 

示例 1:

输入: nums = [1,1,1,2,2,3], k = 2

输出: [1,1,2,2,3]

解释:

每个元素最多可以出现 2 次。

  • 元素 1 出现了 3 次,因此只保留其中 2 次。
  • 元素 2 出现了 2 次,因此全部保留。
  • 元素 3 出现了 1 次,因此保留。

因此,结果数组为 [1, 1, 2, 2, 3]

示例 2:

输入: nums = [1,2,3], k = 1

输出: [1,2,3]

解释:

所有元素都互不相同,且已经最多只出现一次,因此数组保持不变。

 

提示:

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100
  • nums 按非递减顺序排序。
  • 1 <= k <= nums.length

 

进阶:

  • 你能使用原地算法,并仅使用 O(1) 额外空间解决该问题吗?
  • 注意:用于返回结果或调整结果大小所占用的空间不计入上述空间复杂度,因为有些语言不支持原地调整数组大小。
 
代码
代码
测试用例
测试用例
测试结果
测试结果