Related Articles

# Maximum repeated frequency of characters in a given string

• Last Updated : 09 Jun, 2021

Given a string S, the task is to find the count of maximum repeated frequency of characters in the given string S.
Examples

Input: S = “geeksgeeks”
Output: Frequency 2 is repeated 3 times
Explanation:
Frequency of characters in the given string –
{“g”: 2, “e”: 4, “k”: 2, “s”: 2}
The frequency 2 is repeated thrice for the characters “g”, “k”, “s”.
Input: S = “abcabcdedee”
Output: Frequency 2 is repeated 4 times.
Explanation:
Frequency of characters in the given string –
{“a”: 2, “b”: 2, “c”: 2, “d”: 2, “e”: 3}
The frequency 2 is repeated four times for the characters “a”, “b”, “c”, “d”.

Efficient Approach:

• The idea is to first store the frequency of characters of the string in an array of size 26. Since all characters of strings are among 26 lowercase English alphabets, we can store the frequency of characters in an array of size 26.
• Create a hash map, to store the count of frequencies of the characters and return the frequency which occurred max times.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to find the``// maximum repeated frequency of``// characters in the given string` `#include ``using` `namespace` `std;` `// Function to find the maximum``// repeated frequency of the``// characters in the given string``void` `findMaxFrequency(string s)``{``    ``// Hash-Array to store the``    ``// frequency of characters``    ``int` `arr = { 0 };``    ` `    ``// Loop to find the frequency``    ``// of the characters``    ``for` `(``int` `i = 0; i < s.length(); i++)``        ``arr[s[i] - ``'a'``]++;``    ` `    ``// Hash map to store the occurrence``    ``// of frequencies of characters``    ``unordered_map<``int``, ``int``> hash;``    ``for` `(``int` `i = 0; i < 26; i++)``        ``if` `(arr[i] != 0)``            ``hash[arr[i]]++;``    ` `    ``// Loop to find the maximum``    ``// Repeated frequency from hash-map``    ``int` `max_count = 0, res = -1;``    ``for` `(``auto` `i : hash) {``        ``if` `(max_count < i.second) {``            ``res = i.first;``            ``max_count = i.second;``        ``}``    ``}` `    ``cout <<``"Frequency "` `<< res << ``" is repeated "``         ``<< max_count<<``" times"``;``}` `// Driver Code``int` `main()``{``    ``string s = ``"geeksgeeks"``;``    ` `    ``// Function Call``    ``findMaxFrequency(s);``    ``return` `0;``}`

## Java

 `// Java implementation to find the``// maximum repeated frequency of``// characters in the given String``import` `java.util.*;` `class` `GFG{` `// Function to find the maximum``// repeated frequency of the``// characters in the given String``static` `void` `findMaxFrequency(String s)``{``    ``// Hash-Array to store the``    ``// frequency of characters``    ``int` `arr[] = ``new` `int``[``26``];``    ` `    ``// Loop to find the frequency``    ``// of the characters``    ``for` `(``int` `i = ``0``; i < s.length(); i++)``        ``arr[s.charAt(i) - ``'a'``]++;``    ` `    ``// Hash map to store the occurrence``    ``// of frequencies of characters``    ``HashMap hash = ``new` `HashMap();``    ``for` `(``int` `i = ``0``; i < ``26``; i++)``        ``if` `(arr[i] != ``0``) {``            ``if``(hash.containsKey(arr[i])){``                ``hash.put(arr[i], hash.get(arr[i])+``1``);``            ``}``            ``else``{``                ``hash.put(arr[i], ``1``);``            ``}``        ``}``    ` `    ``// Loop to find the maximum``    ``// Repeated frequency from hash-map``    ``int` `max_count = ``0``, res = -``1``;``    ``for` `(Map.Entry i : hash.entrySet()){``        ``if` `(max_count < i.getValue()) {``            ``res = i.getKey();``            ``max_count = i.getValue();``        ``}``    ``}` `    ``System.out.println(``"Frequency "` `+ res+ ``" is repeated "``        ``+ max_count+``" times"``);``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``String s = ``"geeksgeeks"``;``    ` `    ``// Function Call``    ``findMaxFrequency(s);``}``}` `// This code is contributed by sapnasingh4991`

## Python3

 `# Python3 implementation to find the``# maximum repeated frequency of``# characters in the given string` `# Function to find the maximum``# repeated frequency of the``# characters in the given string``def` `findMaxFrequency(s):``    ` `    ``# Hash-Array to store the``    ``# frequency of characters``    ` `    ``arr ``=` `[``0``]``*``26``    ` `    ``# Loop to find the frequency``    ``# of the characters``    ``for` `i ``in` `range``(``len``(s)):``        ``arr[``ord``(s[i]) ``-` `ord``(``'a'``)] ``+``=` `1``        ` `    ``# Hash map to store the occurrence``    ``# of frequencies of characters``    ` `    ``hash` `=` `{}``    ``for` `i ``in` `range``(``26``):``        ``if` `(arr[i] !``=` `0``):``            ``if` `arr[i] ``not` `in` `hash``:``                ``hash``[arr[i]] ``=` `0``            ``hash``[arr[i]] ``+``=` `1``            ` `    ``# Loop to find the maximum``    ``# Repeated frequency from hash-map``    ``max_count ``=` `0``    ``res ``=` `-``1``    ``for` `i ``in` `hash``:``        ``if` `(max_count < ``hash``[i]):``            ``res ``=` `i``            ``max_count ``=` `hash``[i]``    ` `    ``print``(``"Frequency"``, res, ``"is repeated"``, max_count, ``"times"``)` `# Driver Code` `s ``=` `"geeksgeeks"` `# Function Call``findMaxFrequency(s)` `# This code is contributed by shubhamsingh10`

## C#

 `// C# implementation to find the``// maximum repeated frequency of``// characters in the given String``using` `System;``using` `System.Collections.Generic;` `class` `GFG{`` ` `// Function to find the maximum``// repeated frequency of the``// characters in the given String``static` `void` `findMaxFrequency(String s)``{``    ``// Hash-Array to store the``    ``// frequency of characters``    ``int` `[]arr = ``new` `int``;``     ` `    ``// Loop to find the frequency``    ``// of the characters``    ``for` `(``int` `i = 0; i < s.Length; i++)``        ``arr[s[i] - ``'a'``]++;``     ` `    ``// Hash map to store the occurrence``    ``// of frequencies of characters``    ``Dictionary<``int``,``int``> hash = ``new` `Dictionary<``int``,``int``>();``    ``for` `(``int` `i = 0; i < 26; i++)``        ``if` `(arr[i] != 0) {``            ``if``(hash.ContainsKey(arr[i])){``                ``hash[arr[i]] = hash[arr[i]]+1;``            ``}``            ``else``{``                ``hash.Add(arr[i], 1);``            ``}``        ``}``     ` `    ``// Loop to find the maximum``    ``// Repeated frequency from hash-map``    ``int` `max_count = 0, res = -1;``    ``foreach``( KeyValuePair<``int``,``int``> i ``in` `hash){``        ``if` `(max_count < i.Value) {``            ``res = i.Key;``            ``max_count = i.Value;``        ``}``    ``}`` ` `    ``Console.WriteLine(``"Frequency "` `+ res+ ``" is repeated "``        ``+ max_count+``" times"``);``}`` ` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``String s = ``"geeksgeeks"``;``     ` `    ``// Function Call``    ``findMaxFrequency(s);``}``}`` `  `// This code is contributed by 29AjayKumar`

## Javascript

 ``
Output:
`Frequency 2 is repeated 3 times`

Performance Analysis:

• Time Complexity: O(N)
• Auxiliary Space: O(N)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up