【发布时间】:2020-10-05 04:20:25
【问题描述】:
给出了 2 个不同的字符串,问题是找出从给定字符串中删除的最小数量,以使两个字符串都成为字谜。我来看看这段代码 sn -p 一些地方和我所有的测试用例都通过了,但无法理解逻辑。也就是说,为什么要减去'a'?以及它的结果是什么。如果有人向我解释代码,那将非常有帮助。提前致谢。
int[] array=new int[26];
for(int i=0;i<s1.Length;i++)
array[s1[i]-'a']++;
for(int i=0;i<s2.Length;i++)
array[s2[i]-'a']--;
int sum = 0;
for(int i=0;i<26;i++)
sum+=Math.Abs(array[i]);
return sum;
【问题讨论】:
-
在调试器中运行此代码并查看
s1[i]和'a'的值。如果您希望我们提供帮助,您需要向我们展示s1和s2是什么。 -
请注意,此代码仅在字符串中的所有字符都是小写的假设下才有效。
标签: arrays string algorithm ascii absolute-value