Cho hai chuỗi a và b. Dãy con không chung (uncommon subsequence) là dãy con của một chuỗi mà không phải là dãy con của chuỗi kia. Tìm độ dài dãy con không chung dài nhất. Nếu không tồn tại, trả về -1.
Quan sát: Nếu a == b thì mọi dãy con của a đều là dãy con của b → trả về -1. Ngược lại, chính chuỗi dài hơn (hoặc một trong hai nếu bằng nhau) sẽ không là dãy con của chuỗi kia → trả về max(|a|, |b|).
Ví dụ triển khai C++
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int findLUSlength(string a, string b) {
return (a == b) ? -1 : max(a.size(), b.size());
}
};
int main() {
Solution ob;
cout << ob.findLUSlength("aabbac", "aabbcc"); // 6
return 0;
}
Đầu vào / Đầu ra
Input: "aabbac", "aabbcc" Output: 6