ধরুন আমাদের কাছে n ছোট হাতের অক্ষর সহ একটি স্ট্রিং S আছে। একটি স্ট্রিংকে বৈচিত্র্য বলা হয় যদি এতে ইংরেজি বর্ণমালার পরপর অক্ষর থাকে এবং প্রতিটি অক্ষর ঠিক একবার আসে। (অক্ষর 'a' এবং 'z' সংলগ্ন নয়)। এটা বৈচিত্র্যময় কি না তা আমাদের পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুটটি S ="fced" এর মত হয়, তাহলে আউটপুট হবে True।
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
sort the array S flag := 1 for initialize i := 1, when i < size of S and flag is non-zero, update (increase i by 1), do: if S[i] - S[i - 1] is not equal to 1, then: flag := 0 return (if flag is non-zero, then true, otherwise false)
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; bool solve(string S){ sort(S.begin(), S.end()); int flag = 1; for (int i = 1; i < S.size() && flag; i++) if (S[i] - S[i - 1] != 1) flag = 0; return flag ? true : false; } int main(){ string S = "fced"; cout << solve(S) << endl; }
ইনপুট
"fced"
আউটপুট
1