দুটি স্ট্রিং S এবং T দেওয়া আছে। লক্ষ্য হল S কি T-এর সাবসিকোয়েন্স (Subsequence) কিনা তা চেক করা। সাবসিকোয়েন্স মানে T-র ক্যারেক্টারগুলোর относиত ক্রম রক্ষা করে S তৈরি করা যায় কিনা।
দুটি পয়েন্টার বা ইনডেক্স ব্যবহার: S-র প্রতিটি ক্যারেক্টার T-তে ক্রমাগত খুঁজে বের করা হয়। সব মিললে true।
ইনপুট: S="abc", T="adbrcyxd"
আউটপুট: true (১)
ব্যাখ্যা: T-তে a, b, c ক্রম대로 পাওয়া যায়।
#includeusing namespace std; class Solution { public: bool solve(string t, string s) { if(s == t) return true; int n = s.size(), m = t.size(); int j = 0; for(int i = 0; i < n; i++){ if(t[j] == s[i]) j++; if(j == m) return true; } return false; } }; int main(){ Solution ob; string S = "abc", T = "adbrcyxd"; cout << ob.solve(S, T); return 0; }
উপরোক্ত কোড রান করলে আউটপুট:
1