मान लीजिए हमारे पास दो तार S और T हैं। हमें यह जांचना है कि S, T का अनुगमन है या नहीं।
इसलिए, यदि इनपुट S ="abc", T ="adbrcyxd" जैसा है, तो आउटपुट सही होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
यदि s, t के समान है, तो -
-
सही लौटें
-
-
n :=s का आकार, m :=t का आकार
-
जे:=0
-
इनिशियलाइज़ i:=0 के लिए, जब i
-
यदि t[j] s[i] के समान है, तो -
-
(जम्मू को 1 से बढ़ाएं)
-
-
यदि j, t के आकार के समान है, तो -
-
सही लौटें
-
-
-
झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
#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