最长不公共子序列 I C++
假设我们有两个字符串;我们必须找到这两个字符串中最长的不公共子序列。最长的不公共子序列实际上是其中一个字符串的最长子序列,且此子序列不应出现在另一个字符串中。所以,我们必须找到最长的不公共子序列的长度。如果最长的不公共子序列不存在,则返回 -1。
所以,如果输入像 "aabbac", "aabbcc",则输出将为 6
要解决这个问题,我们将按照这些步骤
如果 a 等于 b,则
返回 -1
否则
返回 a 和 b 中较长的那个
示例
让我们看看以下实现以获得更好的理解
#include <bits/stdc++.h> using namespace std; class Solution { public: int findLUSlength(string a, string b) { if (a == b) return -1; else return max(a.size(), b.size()); } }; main(){ Solution ob; cout << (ob.findLUSlength("aabbac","aabbcc")); }
输入
"aabbac","aabbcc"
输出
6
广告