ধরুন আমাদের দুটি স্ট্রিং 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