题解 | #Coincidence#

Coincidence

http://www.nowcoder.com/practice/f38fc44b43cf44eaa1de407430b85e69


#include <iostream>
using namespace std;

//最长公共子序列
int dp[100][100];
int longest(string s1,string s2){
    int ans=0;
    
    int n1=s1.size();
    int n2=s2.size();
    for(int i=-1;i<n1;i++){
        for(int j=-1;j<n2;j++){
            if(i==-1||j==-1)
                dp[i+1][j+1]=0;
            else if(s1[i]==s2[j])
                dp[i+1][j+1]=dp[i][j]+1;
            else
                dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);
            ans=max(ans,dp[i+1][j+1]);
        }
    }
    return ans;
}

int main(){
    string str1,str2;
    cin>>str1>>str2;
    int ans=longest(str1,str2);
    cout<<ans<<endl;
    return 0;
}

全部评论

相关推荐

黑皮白袜臭脚体育生:春节刚过就开卷吗?哈基馆,你这家伙......
点赞 评论 收藏
分享
lingo12:1.最好加个业务项目,大部分面试官工作以后会更偏重业务 2.实习部分描述一般般,可能hr看到会觉得你产出不够不给你过简历 3.蓝桥杯这些大部分人都有的,不如不写,反而减分项。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务