আমাদের বর্ণমালার একটি স্ট্রিং দেওয়া হয়েছে৷ টাস্ক হল সেই অক্ষরটি খুঁজে বের করা যার দীর্ঘতম ধারাবাহিক পুনরাবৃত্তি স্ট্রিং-এ ঘটছে। উদাহরণ দিয়ে বোঝা যাক।
ইনপুট − স্ট্রিং[] =“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