题目:有长度为 n 的字符串,仅包含小写字母。
小信想把字符串变成只包含一种字母。他每次可以选择一种字符 c,然后把长度最多为 m 的子串中的字符都替换成 c。
小信想知道最少需要操作几次能让字符串只包含一种字母。
首先定义一个set,先输入string s,然后将值一个个塞入set,由于set会去重,我们就可以通过set来知道有几种字母出现过,
然后,通过迭代器(iterator)遍历set通过一个个字母尝试,写一个search函数来搜索第一个不是当前搜索字母的字母,因为是贪心,所以直接向后覆盖m个成为当前的字母(注意要写不越界判断),每次覆盖要sum+1
最后search返回sum
然后选出最小的sum,输出
(我就不放完整代码):

你自己猜是哪个部分
3 个赞
对了,f是覆盖函数
2 个赞