题解 | #哈希表#查找两个字符串a,b中的最长公共子串

查找两个字符串a,b中的最长公共子串

https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

#include <iostream>
#include <unordered_map>
using namespace std;

int main() {
    string short_str,long_str,temp;
    cin>>short_str>>long_str;
    if(short_str.length()>long_str.length()) swap(short_str,long_str); 
    string result="";
    int length_s = short_str.length();
    int length_l = long_str.length();
    for(int l=1;l<=length_s;l++){
        unordered_map<string,int> dic;
        for(int i=0;i<length_l-l+1;i++){
            if(dic.find(long_str.substr(i,l))==dic.end()){
                dic.insert(make_pair(long_str.substr(i,l),1));
            }
        }
        for(int i=0;i<length_s-l+1;i++){
            if(dic.find(short_str.substr(i,l))!=dic.end()){
                result = short_str.substr(i,l);
                break;
            }
        }
    } 
    cout<<result;
    return 0;
}

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务