मान लीजिए कि हमारे पास दो तार हैं; हमें इन दो तारों का सबसे लंबा असामान्य क्रम खोजना होगा। सबसे लंबा असामान्य अनुक्रम वास्तव में एक स्ट्रिंग का सबसे लंबा अनुवर्ती होता है और यह क्रम दूसरे स्ट्रिंग में नहीं आना चाहिए। तो, हमें सबसे लंबे असामान्य बाद की लंबाई का पता लगाना होगा। अगर सबसे लंबा असामान्य क्रम मौजूद नहीं है, तो -1 लौटाएं।
इसलिए, यदि इनपुट "abbac", "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