-6
我有2個字符串:在C++中獲取最大公共字符串?
「ABCDEF」和「123abcdef123」
我要尋找的是得到這些2個字符串作爲參數,返回最大的共同字符串的函數。所以在這種情況下,它應該返回「abcdef」。
在此先感謝。
我有2個字符串:在C++中獲取最大公共字符串?
「ABCDEF」和「123abcdef123」
我要尋找的是得到這些2個字符串作爲參數,返回最大的共同字符串的函數。所以在這種情況下,它應該返回「abcdef」。
在此先感謝。
答:
常見字符串(字符串第一,第二串){
string lcsub, max;
for (unsigned int i=0; i < first.length(); i++)
for (unsigned int j=0; j < second.length(); j++)
for (unsigned int k=1; k <= first.length() && k <= second.length(); k++){
if (first.substr(i,k) == second.substr(j,k)){
lcsub = first.substr(i,k);
}
else{
if (lcsub.length() > max.length())
max=lcsub;
lcsub="";
}
}
if (lcsub.length() > max.length())
max=lcsub;
lcsub="";
cout << "Longest Common Substring: " << max << endl;
return max;
}
http://en.wikipedia.org/wiki/Longest_common_substring_problem –
您是否嘗試過谷歌也許? https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=c%2B%2B%20find%20longest%20common%20string –
我們不會做你的功課這裏。首先向我們展示一些努力。 – zoska