給定兩個字元串,你需要從這兩個字元串中找出最長的特殊序列。最長特殊序列定義如下:該序列為某字元串獨有的最長子序列(即不能是其他字元串的子序列)。
子序列可以通過删去字元串中的某些字元實作,但不能改變剩餘字元的相對順序。空序列為所有字元串的子序列,任何字元串為其自身的子序列。
輸入為兩個字元串,輸出最長特殊序列的長度。如果不存在,則傳回 -1。
示例 :
輸入: "aba", "cdc"
輸出: 3
解析: 最長特殊序列可為 "aba" (或 "cdc")
說明:
1.兩個字元串長度均小于100。
2.字元串中的字元僅含有 'a'~'z'。
詳見:https://leetcode.com/problems/longest-uncommon-subsequence-i/description/
C++:
class Solution {
public:
int findLUSlength(string a, string b) {
return a==b?-1:max(a.size(),b.size());
}
};
轉載于:https://www.cnblogs.com/xidian2014/p/8908295.html