C++字符串中最大连续重复字符
给定一个字母字符串,任务是找到在字符串中出现最长连续重复的字符。让我们通过示例来理解。
输入− 字符串[] = “abbbabbbbcdd”
输出 − b
解释 − 在上面的字符串中,最长的连续序列是字符“b”。连续的b的个数是4。
输入− 字符串[] = “aabbcdeeeeed”
输出 − b
解释 − 在上面的字符串中,最长的连续序列是字符“e”。连续的e的个数是5。
下面程序中使用的方法如下
字符数组string1[]用于存储字母字符串。
函数maxRepeating(char str[], int n)接受两个输入参数。字符串本身及其大小。返回具有最长连续重复序列的字符。
遍历字符串str[]从第一个位置到最后一个位置。
如果str[i]和下一个str[i+1]相同,则计数加1。
如果该计数是最大值,则将该值存储在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
广告