我想出了这个逻辑来找到两个长度相等的字符串的最长公共孩子,但它只在简单的输出上成功运行,而在其他输出上失败,请指导我在这里做错了什么。
String a, b;
int sum = 0;
int[] ar,br;
ar = new int[26];
br = new int[26];
a = Console.ReadLine();
b = Console.ReadLine();
for (int i = 0; i < a.Length; i++)
{
ar[(a[i] - 65)]++;
br[(b[i] - 65)]++;
}
for(int i =0;i<ar.Length;i++)
{
if (ar[i] <= br[i]) { sum += ar[i]; }
else sum += br[i];
}
Console.Write(sum);
Console.ReadLine();
输出:AA BB 0 正确。哈利莎莉 2 正确
对于上述两个输入,它都会运行,但是当我提交评估时,它在他们的测试用例上失败。我无法访问我的逻辑失败的测试用例。我想知道我的逻辑在哪里失败。