题目描述:
MT 是美团的缩写,因此小美很喜欢这两个字母。
现在小美拿到了一个仅由大写字母组成字符串,她可以最多操作k次,每次可以修改任意一个字符。小美想知道,操作结束后最多共有多少个'M'和'T'字符?
限制:
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
输入描述:
第一行输入两个正整数n,k,代表字符串长度和操作次数。
第二行输入一个长度为n的、仅由大写字母组成的字符串。
1<=k<=n<=10的5次方
输出描述:
输出操作结束后最多共有多少个'M'和'T'字符。
示例1:
输入例子:5 2
MTUAN
输出例子:4
例子说明:
修改第三个和第五个字符,形成的字符串为 MTTAM,这样共有 4 个'M'和'T'。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
String s = sc.next();
int count = 0;
for (int i = 0; i < n; i++) {
char c = s.charAt(i);
if (c == 'M' || c == 'T') {
count++;
}
}
// 最多能增加的'M'或'T'的数量受k和剩余非'M'/'T'字符数量的限制
int result = count + Math.min(k, n - count);
System.out.println(result);
}
}