【发布时间】:2019-11-10 22:45:57
【问题描述】:
给定两个字符串,a 和 b,长度可能相同也可能不同,确定生成 a 和 b 字谜所需的最小字符删除数。可以从任一字符串中删除任何字符。
这是我第一次为竞争性编程做准备,理解两个 for 循环背后的逻辑对我来说相当困难。
String str1 = s.next();
String str2 = s.next();
char []c1 = str1.toCharArray();
char []c2 = str2.toCharArray();
int []cnt1 = new int[26];
int []cnt2 = new int[26];
int len1 = str1.length();
for (int i = 0; i < len1; i++) {
cnt1[c1[i] - 97]++;
}
int len2 = str2.length();
for (int i = 0; i < len2; i++) {
cnt2[c2[i] - 97]++;
}
int cnt = 0;
for (int i = 0; i < 26; i++) {
cnt += Math.abs(cnt2[i] - cnt1[i]);
}
System.out.println(cnt);
【问题讨论】:
-
欢迎来到stackoverflow。您能否更准确地添加您的问题?
标签: java arrays data-structures anagram