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 = “zambiatekzambiatek”
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 <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 = "zambiatekzambiatek"; // Function Call findMaxFrequency(s); return 0;} |
Java
// 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 = "zambiatekzambiatek"; // 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 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 Codes = "zambiatekzambiatek"# Function CallfindMaxFrequency(s)# This code is contributed by shubhamsingh10 |
C#
// 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 = "zambiatekzambiatek"; // Function Call findMaxFrequency(s);}} // This code is contributed by 29AjayKumar |
Javascript
<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 = "zambiatekzambiatek";// Function CallfindMaxFrequency(s);</script> |
Output:
Frequency 2 is repeated 3 times
Performance Analysis:
- Time Complexity: O(N)
- Auxiliary Space: O(N)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



