题解 | #公共子串计算#

公共子串计算

http://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

暴力解;有兴取的可以尝试用KMP算法尝试。参考大佬的博客链接

#include <iostream>
using namespace std;

int maxSubstr(string str1, string str2){
    int start_1 = 0;  int start_2 = 0;
    int count = 0; int max = 0;
    for(int i = 0; i < str1.length(); i++){
        for(int j = 0; j < str2.length(); j++){
            start_1 = i; start_2 = j;
            while(str1[start_1] == str2[start_2] && start_1 < str1.length()
                 && str2.length()){
                start_1 ++;   start_2 ++;
                count++;
            }
            if(count > max) max = count;
            count = 0;
        }
    }
    return max;
}

int main(){
    string str1, str2;
    cin >> str1 >> str2;
    cout << maxSubstr(str1, str2) << endl;
    return 0;
}
全部评论

相关推荐

11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务