class Solution {
public:
int findLUSlength(string a, string b) {
}
};
521. 最长特殊序列 Ⅰ
给你两个字符串 a
和 b
,请返回 这两个字符串中 最长的特殊序列 的长度。如果不存在,则返回 -1
。
「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) 。
字符串 s
的子序列是在从 s
中删除任意数量的字符后可以获得的字符串。
"abc"
是 "aebdc"
的子序列,因为删除 "aebdc"
中斜体加粗的字符可以得到 "abc"
。 "aebdc"
的子序列还包括 "aebdc"
、 "aeb"
和 ""
(空字符串)。
示例 1:
输入: a = "aba", b = "cdc" 输出: 3 解释: 最长特殊序列可为 "aba" (或 "cdc"),两者均为自身的子序列且不是对方的子序列。
示例 2:
输入:a = "aaa", b = "bbb" 输出:3 解释: 最长特殊序列是 "aaa" 和 "bbb" 。
示例 3:
输入:a = "aaa", b = "aaa" 输出:-1 解释: 字符串 a 的每个子序列也是字符串 b 的每个子序列。同样,字符串 b 的每个子序列也是字符串 a 的子序列。
提示:
1 <= a.length, b.length <= 100
a
和 b
由小写英文字母组成相似题目
原站题解
rust 解法, 执行用时: 0 ms, 内存消耗: 2.1 MB, 提交时间: 2024-06-16 11:11:49
impl Solution { pub fn find_lu_slength(a: String, b: String) -> i32 { if a == b { -1 } else { a.len().max(b.len()) as _ } } }
javascript 解法, 执行用时: 50 ms, 内存消耗: 49.1 MB, 提交时间: 2024-06-16 11:11:34
/** * @param {string} a * @param {string} b * @return {number} */ var findLUSlength = function(a, b) { return a === b ? -1 : Math.max(a.length, b.length); };
cpp 解法, 执行用时: 0 ms, 内存消耗: 7.2 MB, 提交时间: 2024-06-16 11:11:19
class Solution { public: int findLUSlength(string a, string b) { return a == b ? -1 : max(a.length(), b.length()); } };
java 解法, 执行用时: 0 ms, 内存消耗: 40.2 MB, 提交时间: 2024-06-16 11:11:01
class Solution { public int findLUSlength(String a, String b) { return a.equals(b) ? -1 : Math.max(a.length(), b.length()); } }
python3 解法, 执行用时: 29 ms, 内存消耗: 16.4 MB, 提交时间: 2024-06-16 11:10:25
class Solution: def findLUSlength(self, a: str, b: str) -> int: if a == b: return -1 return max(len(a), len(b))
golang 解法, 执行用时: 0 ms, 内存消耗: 1.9 MB, 提交时间: 2021-06-11 16:17:19
func findLUSlength(a string, b string) int { if a == b { return -1 } return max(len(a), len(b)) } func max(x, y int) int { if x > y { return x } return y }