小美的MT
MT是美团的缩写,因此小美很喜欢这两个字母。现在小美拿到了一个仅由大写字母组成字符串,她可以最多操作k次,每次可以修改任意一个字符。小美想知道,操作结束后最多共有多少个’M’和’T’字符?
样例
输入:
-
第一行输入两个正整数,代表字符串长度和操作次数
-
第二行输入一个长度为的、仅由大写字母组成的字符串
5 2
MTUAN
输出:
- 输出操作后最多有多少个M和T字符
4
分析
字符串长度为len
,先遍历找到字符串中M和T字符的个数res
,那么小美最多可以将min((len - res), k)
个字符修改为M和T。最后将res
和 min((len - res), k)
相加即为操作结束后最多共有’M’和’T’字符的个数。
java参考代码
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
String s = scanner.next();
int len = s.length();
//res是结果,也就是M和T字符的总个数
int res = 0;
//遍历字符串,记录下M和T字符当前的个数
for (char c : s.toCharArray()) {
if (c == 'M' || c == 'T') {
res++;
}
}
//最终结果是res加上k与(len - res)的最小值
res = res + Math.min((len - res), k);
System.out.println("res :" + res);
}
}