কম্পিউটার

C++-এ ঠিক k স্বতন্ত্র অক্ষর সহ সাবস্ট্রিংয়ের সংখ্যা গণনা করুন


শুধুমাত্র ছোট হাতের বর্ণমালা এবং একটি পূর্ণসংখ্যা মান k সম্বলিত একটি স্ট্রিং str[] দেওয়া হয়েছে। লক্ষ্য হল str এর সম্ভাব্য সাবস্ট্রিংগুলির সংখ্যা খুঁজে বের করা যাতে ঠিক k স্বতন্ত্র উপাদান রয়েছে।

উদাহরণস্বরূপ

ইনপুট

str=”pqr” k=2

আউটপুট

 ঠিক k স্বতন্ত্র অক্ষর সহ সাবস্ট্রিংগুলির সংখ্যা হল:2

ব্যাখ্যা

যে সাবস্ট্রিংগুলিতে ঠিক ২টি স্বতন্ত্র উপাদান রয়েছে তা হল:“pq”, “qr”।

ইনপুট

str=”stristr” k=4

আউটপুট

 ঠিক k স্বতন্ত্র অক্ষর সহ সাবস্ট্রিংগুলির সংখ্যা হল:10

ব্যাখ্যা

ঠিক 2টি স্বতন্ত্র উপাদান সম্বলিত সাবস্ট্রিং হল:“stri”, “tris”, “rist”, “istr”, “stris”, “trist”, “ristr”, “strist”, “tristr”, “stristr” ”।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

এই পদ্ধতিতে আমরা স্ট্রিং str এর ভিতরে ইংরেজি বর্ণমালার ফ্রিকোয়েন্সি সংরক্ষণ করতে একটি অ্যারে অ্যারে [26] করব এখন লুপের জন্য দুটি ব্যবহার করে স্ট্র ট্র্যাভার্স করুন, যদি সাবস্ট্রিং-এর জন্য, প্রতিটি অক্ষর একবার ঘটছে তাহলে অনন্য অক্ষরের সংখ্যা বৃদ্ধি করুন, সেই সাবস্ট্রিংয়ের শেষে যদি সেই সংখ্যা k এর সমান হয় তবে প্রদত্ত শর্তগুলি অনুসরণ করে সাবস্ট্রিংগুলির সংখ্যা বৃদ্ধি করুন।

  • ইনপুট হিসাবে একটি স্ট্রিং স্ট্র নিন।

  • ধনাত্মক মান সহ একটি পূর্ণসংখ্যা k নিন।

  • ফাংশন substring_k(string str, int length, int k) str এবং k নেয় এবং ঠিক k স্বতন্ত্র অক্ষর সহ সাবস্ট্রিং সংখ্যার গণনা প্রদান করে।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • ফ্রিকোয়েন্সি অ্যারে অ্যারে নিন[26]।

  • i=0 থেকে i লুপের জন্য দুটি ব্যবহার করে ট্রাভার্স স্ট্র।

  • str[i থেকে j] সাবস্ট্রিং-এ অনন্য উপাদানের গণনা হিসাবে temp নিন।

  • যদি অ্যারে [str[j] − 'a']==0 হয় তাহলে এই সাবস্ট্রিং-এ এই অক্ষর str[j] প্রথমবার এসেছে। তাই তাপমাত্রা বৃদ্ধি করুন।

  • এখন অ্যারে[str[j] − 'a']++ ব্যবহার করে বর্তমান অক্ষরের সংখ্যা বৃদ্ধি করুন।

  • যদি তাপমাত্রা k এর সমান হয় তবে বৃদ্ধির সংখ্যা।

  • যদি তাপমাত্রা k-এর বেশি হয় তবে আরও যাতায়াত বন্ধ করুন এবং লুপটি ভেঙে দিন।

  • সমস্ত লুপের শেষে ফলাফল হিসাবে গণনা ফিরে আসে।

উদাহরণ

#includeনেমস্পেস ব্যবহার করে std;int substring_k(string str, int length, int k){ int count =0; int অ্যারে [26]; জন্য (int i =0; i <দৈর্ঘ্য; i++){ int temp =0; মেমসেট(অ্যারে, 0, সাইজফ(অ্যারে)); জন্য (int j =i; j 
 k){ break; } } } রিটার্ন গণনা;} int main(){ string str ="abc"; int length =str.length(); int k =1; cout<<"ঠিক k স্বতন্ত্র অক্ষর সহ সাবস্ট্রিংগুলির সংখ্যা হল:"< 

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
ঠিক k স্বতন্ত্র অক্ষর সহ সাবস্ট্রিংগুলির সংখ্যা হল:3

  1. C++ এ বাইনারি সাবস্ট্রিং গণনা করুন

  2. C++ এ প্রদত্ত স্ট্রিং-এর সমস্ত সাবস্ট্রিং-এর অনন্য অক্ষর গণনা করুন

  3. C++ এ একই প্রতিবেশীদের সাথে অক্ষর গণনা করুন

  4. পাইথনে s-এ স্বতন্ত্র সাবস্ট্রিংয়ের সংখ্যা গণনা করার জন্য প্রোগ্রাম