แนวคิด
สมมติว่ามีสตริงสองสตริง ให้หา longest uncommon subsequence ของทั้งสองสตริง Longest uncommon subsequence คือ longest subsequence ของสตริงหนึ่ง และ subsequence นี้ไม่ควรปรากฏในอีกสตริงหนึ่ง ต้องหาความยาวของ longest uncommon subsequence หากไม่มี ให้คืนค่า -1
เช่น ถ้าอินพุตคือ "aabbac", "aabbcc" ผลลัพธ์คือ 6
วิธีแก้:
- ถ้า a เท่ากับ b: คืนค่า -1
- มิฉะนั้น: คืนค่า max ของขนาด 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