给你一个 按升序排序 的整数数组 nums 和一个整数 k。
返回一个数组,使得每个 不同 元素最多出现 k 次,同时保持 nums 中元素的相对顺序不变。
示例 1:
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,1,2,2,3]
解释:
每个元素最多可以出现 2 次。
因此,结果数组为 [1, 1, 2, 2, 3]。
示例 2:
输入: nums = [1,2,3], k = 1
输出: [1,2,3]
解释:
所有元素都互不相同,且已经最多只出现一次,因此数组保持不变。
提示:
1 <= nums.length <= 1001 <= nums[i] <= 100nums 按非递减顺序排序。1 <= k <= nums.length
进阶:
O(1) 额外空间解决该问题吗?