HJ75 公共字符串计算
生活随笔
收集整理的這篇文章主要介紹了
HJ75 公共字符串计算
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
描述
給定兩個(gè)只包含小寫字母的字符串,計(jì)算兩個(gè)字符串的最大公共子串的長(zhǎng)度。
注:子串的定義指一個(gè)字符串刪掉其部分前綴和后綴(也可以不刪)后形成的字符串。
輸入描述:
輸入兩個(gè)只包含小寫字母的字符串
輸出描述:
輸出一個(gè)整數(shù),代表最大公共子串的長(zhǎng)度
示例1
輸入:
asdfas
werasdfaswer
輸出:
6
示例 2
輸入:
bacefaebcdfabfaadebdaacabbdabcfffbdcebaabecefddfaceeebaeabebbad
dedcecfbbbecaffedcedbadadbbfaafcafdd
輸出:
4
示例 3
輸入:
baaabbabababbaabbaaaaaabbaabaabaaabbabbbbaabbaaabbbbbabababaaaaabbbbbabbbabaababaa
bbbbbababbabaabbaabba
輸出:
9
代碼
#include <iostream>
#include <string>int main()
{std::string a;std::string b;getline(std::cin, a);getline(std::cin, b);int max_len = 0;std::string sub_str = "";for(int i=0; i<a.length(); i++){for(int j=0; j<b.length(); j++){if(a[i] == b[j]){for(int m=i, n=j; m<a.length(), n<b.length(); m++, n++){if(a[m] != b[n]){break;}if((m - i + 1) > max_len){max_len = m - i + 1;sub_str = a.substr(i, m+1);}}}}}std::cout << max_len << std::endl;std::cout << sub_str << std::endl;
}
總結(jié)
以上是生活随笔為你收集整理的HJ75 公共字符串计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国橡胶密封制品行业
- 下一篇: 2022-2028中国工作服市场现状及未