Maximum repeated frequency of characters in a given string

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++
Java
Python3
C#
Javascript
// C++ implementation to find the// maximum repeated frequency of// characters in the given string #include <bits/stdc++.h>using namespace std; // Function to find the maximum// repeated frequency of the// characters in the given stringvoid findMaxFrequency(string s){    // Hash-Array to store the    // frequency of characters    int arr[26] = { 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 Codeint main(){    string s = "geeksgeeks";         // Function Call    findMaxFrequency(s);    return 0;}
// Java implementation to find the// maximum repeated frequency of// characters in the given Stringimport java.util.*; class GFG{ // Function to find the maximum// repeated frequency of the// characters in the given Stringstatic 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<Integer,Integer> hash = new HashMap<Integer,Integer>();    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<Integer,Integer> 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 Codepublic static void main(String[] args){    String s = "geeksgeeks";         // Function Call    findMaxFrequency(s);}} // This code is contributed by sapnasingh4991
# 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 stringdef 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 CallfindMaxFrequency(s) # This code is contributed by shubhamsingh10
// C# implementation to find the// maximum repeated frequency of// characters in the given Stringusing System;using System.Collections.Generic; class GFG{  // Function to find the maximum// repeated frequency of the// characters in the given Stringstatic 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[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 Codepublic static void Main(String[] args){    String s = "geeksgeeks";          // Function Call    findMaxFrequency(s);}}   // This code is contributed by 29AjayKumar
<script> // JavaScript 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 stringfunction findMaxFrequency(s){    // Hash-Array to store the    // frequency of characters    var arr = Array(26).fill(0);         // Loop to find the frequency    // of the characters    for (var i = 0; i < s.length; i++)        arr[s[i].charCodeAt(0) - 'a'.charCodeAt(0)]++;         // Hash map to store the occurrence    // of frequencies of characters    var hash = new Map();    for (var i = 0; i < 26; i++)        if (arr[i] != 0)        {            if(hash.has(arr[i]))                hash.set(arr[i], hash.get(arr[i])+1)            else                hash.set(arr[i], 1)        }         // Loop to find the maximum    // Repeated frequency from hash-map    var max_count = 0, res = -1;    hash.forEach((value, key) => {                 if (max_count < value) {            res = key;            max_count = value;        }    });     document.write( "Frequency " + res + " is repeated "         + max_count+" times");} // Driver Codevar s = "geeksgeeks"; // Function CallfindMaxFrequency(s);  </script>
Frequency 2 is repeated 3 times
 
Performance Analysis:  
Time Complexity: O(N)
Auxiliary Space: O(N)
 
SHUBHAMSINGH10
sapnasingh4991
29AjayKumar
nidhi_biet
rrrtnx
Algorithms
Competitive Programming
Hash
Strings
Technical Scripter
Write From Home
Hash
Strings
Algorithms
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
What is Hashing | A Complete Tutorial
Find if there is a path between two vertices in an undirected graph
How to Start Learning DSA?
Complete Roadmap To Learn DSA From Scratch
Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
Competitive Programming - A Complete Guide
Practice for cracking any coding interview
Arrow operator -> in C/C++ with Examples
Modulo 10^9+7 (1000000007)
Prefix Sum Array - Implementation and Applications in Competitive Programming