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

ลำดับเหตุการณ์ผิดปกติที่ยาวที่สุด I ใน C ++


สมมติว่าเรามีสองสตริง เราต้องหาลำดับย่อยที่ไม่ธรรมดาที่ยาวที่สุดของสองสตริงนี้ ลำดับย่อยที่ไม่ธรรมดาที่ยาวที่สุดคือลำดับย่อยที่ยาวที่สุดของสตริงหนึ่งและลำดับย่อยนี้ไม่ควรมาในสตริงอื่น ดังนั้น เราต้องหาความยาวของลำดับย่อยที่ไม่ธรรมดาที่ยาวที่สุด หากไม่มีลำดับย่อยที่ผิดปกติที่ยาวที่สุด ให้คืนค่า -1

ดังนั้น หากอินพุตเป็น "aabbac", "aabbcc" ผลลัพธ์จะเป็น 6

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า a เหมือนกับ b แล้ว −

    • กลับ -1

  • มิฉะนั้น

    • คืนค่าสูงสุดของขนาด 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