-1
這個邏輯是什麼錯了我想出了這個邏輯找到兩個長度相等的字符串的最長的共同孩子,但它只能在簡單的輸出成功運行,並失敗其他人,請指導我我是什麼在這裏做錯了。這個邏輯找到最長的字符串
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 正確。 HARRRY SALLY 2正確
兩個以上的投入運行,但是當我提出評價在他們的試驗失敗辦案。斜面訪問他們testacase上我的邏輯fails.i想知道哪裏我的邏輯失敗。
http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Longest_common_substring#Retrieve_the_Longest_Substring – 2013-05-13 19:52:34
或許,如果你用「哈利」和「突破口」,而不是「哈利」和「SALLY」 ... – 2013-05-13 19:54:30
試過@大寫字母MatthewWatson ascii的值以65開頭..所以它是正確的。 – thunderbird 2013-05-13 19:57:10