Open In App

Maximum repeated frequency of characters in a given string

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: 
 



Below is the implementation of the above approach:
 




// 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 string
void 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 Code
int main()
{
    string s = "geeksgeeks";
     
    // Function Call
    findMaxFrequency(s);
    return 0;
}




// 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<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 Code
public 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 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# 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[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 Code
public 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 string
function 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 Code
var s = "geeksgeeks";
 
// Function Call
findMaxFrequency(s);
 
 
</script>

Output: 
Frequency 2 is repeated 3 times

 

Performance Analysis: 
 

 


Article Tags :