কম্পিউটার টিউটোরিয়াল

এক স্ট্রিং অন্য স্ট্রিংয়ের সাবসিকোয়েন্স কিনা চেক করা C++-এ


দুটি স্ট্রিং S এবং T দেওয়া আছে। লক্ষ্য হল S কি T-এর সাবসিকোয়েন্স (Subsequence) কিনা তা চেক করা। সাবসিকোয়েন্স মানে T-র ক্যারেক্টারগুলোর относиত ক্রম রক্ষা করে S তৈরি করা যায় কিনা।

দুটি পয়েন্টার বা ইনডেক্স ব্যবহার: S-র প্রতিটি ক্যারেক্টার T-তে ক্রমাগত খুঁজে বের করা হয়। সব মিললে true।

উদাহরণ

ইনপুট: S="abc", T="adbrcyxd"

আউটপুট: true (১)

ব্যাখ্যা: T-তে a, b, c ক্রম대로 পাওয়া যায়।

C++ কোড উদাহরণ
#include 
using 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
  1. C++-এ ইনভোলিউটরি ম্যাট্রিক্স যাচাই করার প্রোগ্রাম

  2. C++ প্রোগ্রাম: ডায়রেক্টেড গ্রাফে অয়লার পাথ আছে কিনা চেক করা

  3. C++ প্রোগ্রাম: আনডায়রেক্টেড গ্রাফে অয়লার পাথ আছে কিনা চেক করা

  4. C++ প্রোগ্রাম: আনডায়রেক্টেড গ্রাফে অয়লার সার্কিট আছে কিনা চেক করা