C 最长非公共子序列 题解

最长非公共子序列

http://www.nowcoder.com/questionTerminal/de449fda714f43d6a7fbc74aa0d3d1cd

给你两个字符串 求出满足是其中一个串的子序列但不是另一个串的子序列的串的最长长度。

首先如果那么答案显然为 因为 相等,所以的子串都是的子串,反之亦然。

否则,答案一定是 因为所以把中较长的串拿出来它一定不是另一个串的子串

复杂度

#include <bits/stdc++.h>
using namespace std;
string S,T;
int main(){
    cin >> S >> T;
    if (S == T){
        cout << -1 << '\n';
        return 0;
    }
    cout << max(S.size(),T.size()) << '\n';
    return 0;
}
全部评论

相关推荐

kl_我是东山啊:《相关公司:阿里巴巴》
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务