@ninijia 在 Leetcode每日一题练习 ------ 2182. 构造限制重复的字符串 中发帖
从Leetcode 每日一题练习继续讨论:
2182. 构造限制重复的字符串
2182. Construct String With Repeat Limit
题解
本题先统计字符串s中各个字母的字数,再根据题意构造最大字符串,构造最大字符串需要将所有字符从最大字符开始排列,但排列时相同字符的连续重复次数不能超过repeatLimit。则每次当最大字符重复了repeatLimit后,需要插入一个次大字符,再继续插入最大字符,因此可以使用双指针,分别指示当前的最大字符和次大字符,再按照题目要求通过不断交替插入尽可能多的最大字符和用于分隔的次大字符来构造整个字符串。
这样得到的就是最大的字符串,对于剩余的多余字符,如剩下了很多a没有使用并不影响这个字符串的最大性,因为题目只要求使用s中的字符得到最大字符串,不要求将字符全部用完。
代码
class Solution {
public:...