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

সি++ কোড: দুটি সাবস্ট্রিং খুঁজুন যাতে একটি ন্যূনতম সাবস্ট্রিং থাকে

একটি লোয়ারকেস স্ট্রিং S দেওয়া আছে n ক্যারেক্টারের। দুটি নন-ইম্পটি সাবস্ট্রিং P এবং Q খুঁজে বের করতে হবে যাতে:

  • P এবং Q উভয়ই S-এর সাবসিকোয়েন্স
  • প্রতিটি ইনডেক্স i এর জন্য S[i] শুধু P বা Q-তে থাকবে (দুটি নয়)
  • P যত সম্ভব লেক্সিকোগ্রাফিক্যালি ন্যূনতম হবে

উদাহরণ

S="thelightsaber" → আউটপুট: "a, thelightsber"

সমাধানের ধাপসমূহ

c := S
sort(c)
a := c[0]-র S-এ পজিশন
S-র a-তে থাকা ক্যারেক্টার ডিলিট করুন
print c[0] এবং S

সি++ কোড উদাহরণ

#include <bits/stdc++.h>
using namespace std;

void solve(string S) {
    string c = S;
    sort(c.begin(), c.end());
    int a = S.find(c[0]);
    S.erase(S.begin() + a);
    cout << c[0] << ", " << S << endl;
}

int main() {
    string S = "thelightsaber";
    solve(S);
}

ইনপুট

"thelightsaber"

আউটপুট

a, thelightsber
  1. C++-এ ০ যোগ করে দুটি অ্যারের সর্বোচ্চ ডট প্রোডাক্ট বের করুন

  2. বাইনারি রিপ্রেজেন্টেশনে এক ফ্লিপ দিয়ে সর্বোচ্চ ১ সিকোয়েন্স (C++)

  3. অ্যারেতে এক ক্যারেক্টার মিসম্যাচ সহ স্ট্রিং আছে কিনা (C++)

  4. C++-এ একটি স্ট্রিং-এর সাবসিকোয়েন্স যা অন্য স্ট্রিং-এর সাবস্ট্রিং, তার সর্বোচ্চ দৈর্ঘ্য