 Open in App
Not now

## Related Articles

• Write an Interview Experience
• String Data Structure

# Maximum consecutive repeating character in string

• Difficulty Level : Easy
• Last Updated : 10 May, 2021

Given a string, the task is to find the maximum consecutive repeating character in a string.
Note: We do not need to consider the overall count, but the count of repeating that appears in one place.
Examples:

```Input : str = "geeekk"
Output : e

Input : str = "aaaabbcbbb"
Output : a```

The simple solution to this problem is to use two for loops. The outer loop considers the current character, the inner loop counts occurrences of the current character. If the count goes beyond the current maximum count, we update the result.

## C++

 `// C++ program to find the maximum consecutive``// repeating character in given string``#include``using` `namespace` `std;` `// function to find out the maximum repeating``// character in given string``char` `maxRepeating(string str)``{``    ``int` `len = str.length();``    ``int` `count = 0;` `    ``// Find the maximum repeating character``    ``// starting from str[i]``    ``char` `res = str;``    ``for` `(``int` `i=0; i count)``        ``{``            ``count = cur_count;``            ``res = str[i];``        ``}``    ``}``    ``return` `res;``}` `// Driver code``int` `main()``{` `    ``string str = ``"aaaabbaaccde"``;``    ``cout << maxRepeating(str);``    ``return` `0;``}`

## Java

 `// Java program to find the maximum consecutive``// repeating character in given string``public` `class` `GFG {``    ` `    ``// function to find out the maximum repeating``    ``// character in given string``    ``static` `char` `maxRepeating(String str)``    ``{``        ``int` `len = str.length();``        ``int` `count = ``0``;` `        ``// Find the maximum repeating character``        ``// starting from str[i]``        ``char` `res = str.charAt(``0``);``        ``for` `(``int` `i=``0``; i count)``            ``{``                ``count = cur_count;``                ``res = str.charAt(i);``            ``}``        ``}``        ``return` `res;``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{` `        ``String str = ``"aaaabbaaccde"``;``        ``System.out.println(maxRepeating(str));``    ``}``}``// This code is contributed by Sumit Ghosh`

## Python 3

 `# Python 3 program to find the``# maximum consecutive repeating``# character in given string` `# function to find out the maximum``# repeating character in given string``def` `maxRepeating(``str``):` `    ``l ``=` `len``(``str``)``    ``count ``=` `0` `    ``# Find the maximum repeating``    ``# character starting from str[i]``    ``res ``=` `str``[``0``]``    ``for` `i ``in` `range``(l):``        ` `        ``cur_count ``=` `1``        ``for` `j ``in` `range``(i ``+` `1``, l):``    ` `            ``if` `(``str``[i] !``=` `str``[j]):``                ``break``            ``cur_count ``+``=` `1` `        ``# Update result if required``        ``if` `cur_count > count :``            ``count ``=` `cur_count``            ``res ``=` `str``[i]``    ``return` `res` `# Driver code``if` `__name__ ``=``=` `"__main__"``:` `    ``str` `=` `"aaaabbaaccde"``    ``print``(maxRepeating(``str``))` `# This code is contributed``# by ChitraNayal`

## C#

 `// C# program to find the maximum``// consecutive repeating character``// in given string``using` `System;` `class` `GFG``{` `// function to find out the maximum``// repeating character in given string``static` `char` `maxRepeating(``string` `str)``{``    ``int` `len = str.Length;``    ``int` `count = 0;``    ``char` `res = str;``    ` `    ``// Find the maximum repeating``    ``// character starting from str[i]``    ``for` `(``int` `i = 0; i < len; i++)``    ``{``        ``int` `cur_count = 1;``        ``for` `(``int` `j = i + 1; j < len; j++)``        ``{``            ``if` `(str[i] != str[j])``                ``break``;``            ``cur_count++;``        ``}` `        ``// Update result if required``        ``if` `(cur_count > count)``        ``{``            ``count = cur_count;``            ``res = str[i];``        ``}``    ``}``    ``return` `res;``}` `// Driver code``public` `static` `void` `Main()``{``    ``string` `str = ``"aaaabbaaccde"``;``    ``Console.Write(maxRepeating(str));``}``}` `// This code is contributed``// by ChitraNayal`

## PHP

 ` ``\$count``)``        ``{``            ``\$count` `= ``\$cur_count``;``            ``\$res` `= ``\$str``[``\$i``];``        ``}``    ``}``    ``return` `\$res``;``}` `// Driver code``    ``\$str` `= ``"aaaabbaaccde"``;``    ``echo`  `maxRepeating(``\$str``);` `// This code is contributed by ajit``?>`

## Javascript

 ``

Output:

`a`

Time Complexity : O(n^2)
Space Complexity : O(1)
An efficient solution is to run only one loop. The idea is to reset the count as 1 as soon as we find a character not matching with the previous.

## C++

 `// C++ program to find the maximum consecutive``// repeating character in given string``#include``using` `namespace` `std;` `// Returns the maximum repeating character in a``// given string``char` `maxRepeating(string str)``{``    ``int` `n = str.length();``    ``int` `count = 0;``    ``char` `res = str;``    ``int` `cur_count = 1;` `    ``// Traverse string except last character``    ``for` `(``int` `i=0; i count)``            ``{``                ``count = cur_count;``                ``res = str[i];``            ``}``            ``cur_count = 1;``        ``}``    ``}` `    ``return` `res;``}` `// Driver code``int` `main()``{``    ``string str = ``"aaaabbaaccde"``;``    ``cout << maxRepeating(str);``    ``return` `0;``}`

## Java

 `// Java program to find the maximum consecutive``// repeating character in given string``class` `GFG {``    ` `    ``// function to find out the maximum repeating``    ``// character in given string``    ``static` `char` `maxRepeating(String str)``    ``{``        ``int` `n = str.length();``        ``int` `count = ``0``;``        ``char` `res = str.charAt(``0``);``        ``int` `cur_count = ``1``;` `        ``// Traverse string except last character``        ``for` `(``int` `i = ``0``; i < n; i++)``        ``{``            ``// If current character matches with next``            ``if` `(i < n - ``1` `&& str.charAt(i) == str.charAt(i + ``1``))``                ``cur_count++;` `            ``// If doesn't match, update result``            ``// (if required) and reset count``            ``else``            ``{``                ``if` `(cur_count > count)``                ``{``                    ``count = cur_count;``                    ``res = str.charAt(i);``                ``}``                ``cur_count = ``1``;``            ``}``        ``}``        ``return` `res;``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``String str = ``"aaaabbaaccde"``;``        ``System.out.println(maxRepeating(str));``    ``}``}` `// This code is contributed by Sudeep Mukherjee`

## Python 3

 `# Python 3 program to find the``# maximum consecutive repeating``# character in given string` `# Returns the maximum repeating``# character in a given string``def` `maxRepeating(``str``):` `    ``n ``=` `len``(``str``)``    ``count ``=` `0``    ``res ``=` `str``[``0``]``    ``cur_count ``=` `1` `    ``# Traverse string except``    ``# last character``    ``for` `i ``in` `range``(n):``        ` `        ``# If current character``        ``# matches with next``        ``if` `(i < n ``-` `1` `and``            ``str``[i] ``=``=` `str``[i ``+` `1``]):``            ``cur_count ``+``=` `1` `        ``# If doesn't match, update result``        ``# (if required) and reset count``        ``else``:``            ``if` `cur_count > count:``                ``count ``=` `cur_count``                ``res ``=` `str``[i]``            ``cur_count ``=` `1``    ``return` `res` `# Driver code``if` `__name__ ``=``=` `"__main__"``:``    ``str` `=` `"aaaabbaaccde"``    ``print``(maxRepeating(``str``))` `# This code is contributed``# by ChitraNayal`

## C#

 `// C# program to find the maximum``// consecutive repeating character``// in given string``using` `System;` `class` `GFG``{` `// function to find out the``// maximum repeating character``// in given string``static` `char` `maxRepeating(``string` `str)``{``    ``int` `n = str.Length;``    ``int` `count = 0;``    ``char` `res = str;``    ``int` `cur_count = 1;` `    ``// Traverse string except``    ``// last character``    ``for` `(``int` `i = 0; i < n; i++)``    ``{``        ``// If current character``        ``// matches with next``        ``if` `(i < n - 1 &&``            ``str[i] == str[i + 1])``            ``cur_count++;` `        ``// If doesn't match, update result``        ``// (if required) and reset count``        ``else``        ``{``            ``if` `(cur_count > count)``            ``{``                ``count = cur_count;``                ``res = str[i];``            ``}``            ``cur_count = 1;``        ``}``    ``}``    ``return` `res;``}` `// Driver code``public` `static` `void` `Main()``{``    ``string` `str = ``"aaaabbaaccde"``;``    ``Console.Write(maxRepeating(str));``}``}` `// This code is contributed``// by ChitraNayal`

## PHP

 ` ``\$count``)``            ``{``                ``\$count` `= ``\$cur_count``;``                ``\$res` `= ``\$str``[``\$i``];``            ``}``            ``\$cur_count` `= 1;``        ``}``    ``}` `    ``return` `\$res``;``}` `// Driver code``\$str` `= ``"aaaabbaaccde"``;``echo` `maxRepeating(``\$str``);` `// This code is contributed``// by ChitraNayal``?>`

## Javascript

 ``

Output:

`a`

Time Complexity : O(n)
Space Complexity : O(1)
This article is contributed by DANISH_RAZA . If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.