Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Longest Uncommon Subsequence I ใน C++

แนวคิด

สมมติว่ามีสตริงสองสตริง ให้หา 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