ধরুন আমাদের দুটি স্ট্রিং S এবং T আছে। আমাদের পরীক্ষা করতে হবে যে S টি T-এর অনুবর্তী কি না।
সুতরাং, যদি ইনপুটটি S ="abc", T ="adbrcyxd" এর মত হয়, তাহলে আউটপুট হবে True
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি s টি হয়, তাহলে −
-
প্রত্যাবর্তন সত্য
-
-
n :=s এর আকার, m :=t এর আকার
-
j :=0
-
আরম্ভ করার জন্য i :=0, যখন i
-
যদি t[j] s[i] এর মত হয়, তাহলে −
-
(j 1 দ্বারা বাড়ান)
-
-
যদি j টি আকারের সমান হয়, তাহলে −
-
প্রত্যাবর্তন সত্য
-
-
-
ফেরত মিথ্যা
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
bool solve(string t, string s) {
if(s == t)
return true;
int n = s.size();
int m = t.size();
int j = 0;
for(int i = 0; i < n; i++){
if(t[j] == s[i])
j++;
if(j == t.size())
return true;
}
return false;
}
};
main(){
Solution ob;
string S = "abc", T = "adbrcyxd";
cout << ob.solve(S, T);
} ইনপুট
"abc", "adbrcyxd"
আউটপুট
1