我们得到了一串字母。任务是找到在字符串中出现最长连续重复的字符。让我们通过示例来理解。
输入-String [] =“ abbbabbbbcdd”
输出-b
解释-在上述字符串中,最长的连续序列是字符'b'。连续b的计数为4。
输入-String [] =“ aabbcdeeeeed”
输出-b
说明-在上面的字符串中,最长的连续序列是字符'e'。连续e的计数为5。
字符数组string1 []用于存储字母字符串。
函数maxRepeating(char str [],int n)具有两个输入参数。字符串本身,其大小。返回具有最长连续重复序列的字符。
从第一个位置到最后一个在str []中遍历字符串。
如果str [i]和下一个str [i + 1]相同,则递增count。
如果该计数最大,则将值存储在maxC中,将字符存储在repchar中。
返回repchar作为最终结果。
#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