C ++中字符串中的最大连续重复字符

我们得到了一串字母。任务是找到在字符串中出现最长连续重复的字符。让我们通过示例来理解。

输入-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

以上是 C ++中字符串中的最大连续重复字符 的全部内容, 来源链接: utcz.com/z/331026.html

回到顶部