可以將字串陣列按照長度從大到小進行排序,然後從前往後遍歷,找到第乙個特殊序列,這個特殊序列的長度就是答案,如果遍歷完陣列,都沒有找到特殊序列,這返回-1。
特殊序列的判斷方法如下:
(1)如果這個字串存在和它相同的字串(排序後這兩個字串是相鄰的),則這個字串不是特殊序列。
(2)從最開始(長度最長的)字串列舉到這個字串之前的字串(也就是列舉所有長度比當前字串大的字串),判斷當前這個字串是不是其他字串的子串行,如果是,則它不是特殊序列;如果不是,則當前這個字串的長度就是最長特殊序列的長度。
**如下:
class solution
if(j == b.size())
}return true;
}int findluslength(vector& strs)
return a < b;
});for(int i = 0; i < strs.size(); ++i)
for(int j = 0; j < i; ++j)
}if(flag == true)
}return -1;}};
LeetCode 522 最長特殊序列 II
給定字串列表,你需要從它們中找出最長的特殊序列。最長特殊序列定義如下 該序列為某字串獨有的最長子序列 即不能是其他字串的子串行 子串行可以通過刪去字串中的某些字元實現,但不能改變剩餘字元的相對順序。空串行為所有字串的子串行,任何字串為其自身的子串行。輸入將是乙個字串列表,輸出是最長特殊序列的長度。如...
LeetCode 522 最長特殊序列 II
522.最長特殊序列 ii 給定字串列表,你需要從它們中找出最長的特殊序列。最長特殊序列定義如下 該序列為某字串獨有的最長子序列 即不能是其他字串的子串行 子串行可以通過刪去字串中的某些字元實現,但不能改變剩餘字元的相對順序。空串行為所有字串的子串行,任何字串為其自身的子串行。輸入將是乙個字串列表,...
LeetCode 521 最長特殊序列
給你兩個字串,請你從這兩個字串中找出最長的特殊序列。最長特殊序列 定義如下 該序列為某字串獨有的最長子序列 即不能是其他字串的子串行 子串行 可以通過刪去字串中的某些字元實現,但不能改變剩餘字元的相對順序。空串行為所有字串的子串行,任何字串為其自身的子串行。輸入為兩個字串,輸出最長特殊序列的長度。如...