题解 | #Coincidence#

Coincidence

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

#include <iostream>
using namespace std;

int dp[105][105];
char c1[105];
char c2[105];

int main() {
    int a, b;
    while (scanf("%s%s", c1, c2) != EOF) { // 注意 while 处理多个 case
        string str1 = c1;
        string str2 = c2;
        for(int i = 0; i <= str1.size(); i++){
            for(int j = 0; j <= str2.size(); j++){
                if(0 == i || 0 == j){
                    dp[i][j] = 0;
                    continue;
                }
                //走到这里的时候其实 i>=1, j>=1了,但是字符串是从0开始的,所以要减1
                if(str1[i - 1] == str2[j - 1]){
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                }else{
				  //其实这一句并不太懂是什么意思
                    dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
                } 
            }
        }
        printf("%d\n", dp[str1.size()][str2.size()]);
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

2025-12-15 19:41
已编辑
广东工业大学 前端工程师
smile丶snow:尽量保证的一张a4纸吧。为什么工作经历只有公司?如果项目经历是工作里面的,应该写到工作经历里的吧。没有写项目职责,项目全是一个人写的吗?标题大小也好怪。两个项目的分割看不出来是,它和那些项目成功字体是一样大的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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