ধরুন আমাদের কাছে n অক্ষর সহ একটি ছোট হাতের স্ট্রিং S আছে। আমাদের দুটি নন-এম্পটিসাবস্ট্রিং P এবং Q খুঁজে বের করতে হবে, যেমন −
-
P এবং Q উভয়ই S
-এর পরবর্তী অংশ -
প্রতিটি সূচকের জন্য i, S[i] ঠিক P এবং Q-এর একটির অন্তর্ভুক্ত।
-
P হল আভিধানিকভাবে যতটা সম্ভব ন্যূনতম।
সুতরাং, যদি ইনপুটটি S ="thelightsaber" এর মত হয়, তাহলে আউটপুট হবে 10, কারণ আমাদের 2টি লাল নোটবুক, 3টি সবুজ নোটবুক এবং 5টি নীল নোটবুক প্রয়োজন৷
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
c := S sort the array c a := position of (c[0]) in S delete c from S print c[0] and 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