আমাদের বর্ণমালার একটি স্ট্রিং দেওয়া হয়েছে৷ টাস্ক হল সেই অক্ষরটি খুঁজে বের করা যার দীর্ঘতম ধারাবাহিক পুনরাবৃত্তি স্ট্রিং-এ ঘটছে। উদাহরণ দিয়ে বোঝা যাক।
ইনপুট − স্ট্রিং[] =“abbbabbbbcdd”
আউটপুট − b
ব্যাখ্যা − উপরের স্ট্রিংটিতে, দীর্ঘতম ক্রমাগত ক্রম হল 'b' অক্ষরের। পরপর b এর গণনা হল 4.
ইনপুট − স্ট্রিং[] =“aabbcdeeeeed”
আউটপুট − b
ব্যাখ্যা − উপরের স্ট্রিংটিতে, দীর্ঘতম ক্রমাগত ক্রমটি 'e' অক্ষরের। পরপর e এর সংখ্যা 5।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
অক্ষর অ্যারে স্ট্রিং1[] বর্ণমালার স্ট্রিং সংরক্ষণ করতে ব্যবহৃত হয়।
-
ফাংশন maxRepeating(char str[], int n) দুটি ইনপুট প্যারামিটার নেয়। স্ট্রিং নিজেই, এর আকার। দীর্ঘতম ধারাবাহিক পুনরাবৃত্তি ক্রম সহ অক্ষরটি ফেরত দেয়৷
৷ -
প্রথম অবস্থান থেকে শেষ পর্যন্ত str[] এ স্ট্রিংটি অতিক্রম করুন।
-
যদি str[i] এবং পরবর্তী একটি str[i+1] একই হয়, তাহলে বৃদ্ধির সংখ্যা।
-
যদি গণনা সর্বাধিক হয়, তাহলে মানটি maxC এবং অক্ষর রেপচারে সংরক্ষণ করুন।
-
চূড়ান্ত ফলাফল হিসাবে রেপচারটি ফেরত দিন।
উদাহরণ
#include <iostream>
#include <iostream>
char maxRepeating(char str[], int n){
int count = 0;
char repchar = str[0];
int maxC = 1;
for (int i=0; i<n; i++){
if (str[i] == str[i+1] && i < n-1 )
maxC++;
else{
if (maxC > count){
count = maxC;
repchar = str[i];
}
maxC = 1;
}
}
return repchar;
}
int main(){
char string1[] = "aaabbaacccddef";
int N=14;
printf("Maximum Consecutive repeating character in string: %c",maxRepeating(string1,N));
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেMaximum Consecutive repeating character in string: a