Dada una array de enteros con elementos duplicados, la tarea es encontrar los elementos duplicados en la array y sus frecuencias.
Ejemplos:
Entrada: arr[] = {2, 3, 4, 5, 4, 6, 4, 7, 4, 5, 6, 6}
Salida: A continuación se muestra la frecuencia de los elementos repetidos –
4 –> 4
5 –> 2
6 –> 3
Entrada: arr[] = {4, 4, 5, 5, 6}
Salida: A continuación se muestra la frecuencia de los elementos repetidos –
4 –> 2
5 –> 2
Acercarse:
- Cree un Hash Map para almacenar la frecuencia de los elementos.
- Los elementos cuya frecuencia es mayor que 1 son los elementos repetidos.
A continuación se muestra la implementación del enfoque anterior:
CPP
// CPP Implementation to find the // repeating elements with there count #include<bits/stdc++.h> using namespace std; // Function to find the repeating // elements with there count map<int,int> findRepeating(int arr[], int size){ // Hash map to store the // frequency of elements map<int,int> frequency; // Loop to store the frequency of // elements of array for (int i = 0; i < size; i++) frequency[arr[i]]++; return frequency; } // Driver Code int main(){ int arr[] = {4, 4, 5, 5, 6}; int arr_size = sizeof(arr)/sizeof(arr[0]); map<int,int> frequency = findRepeating(arr, arr_size); cout<<"Below is the frequency of repeated elements -"<<endl; for(auto x : frequency){ if (frequency[x.first] > 1) cout<<x.first<<" --> "<<frequency[x.first]<<endl; } } // This code is contributed by Surendra_Gangwar
Java
// Java Implementation to find the // repeating elements with there count import java.util.*; class GFG { // Function to find the repeating // elements with there count static HashMap<Integer, Integer> findRepeating(int []arr, int size){ // Hash map to store the // frequency of elements HashMap<Integer,Integer> frequency = new HashMap<Integer,Integer>(); // Loop to store the frequency of // elements of array for(int i = 0; i < size; i++) { if(frequency.containsKey(arr[i])) { frequency.put(arr[i], frequency.get(arr[i]) + 1); } else { frequency.put(arr[i], 1); } } return frequency; } // Driver Code public static void main(String []args) { int []arr = {4, 4, 5, 5, 6}; int arr_size = arr.length; HashMap<Integer,Integer> frequency = findRepeating(arr, arr_size); System.out.println("Below is the frequency" +"of repeated elements -"); for (Map.Entry<Integer,Integer> entry : frequency.entrySet()) if (entry.getValue() > 1) System.out.println(entry.getKey()+ " --> "+entry.getValue()); } } // This code is contributed by PrinciRaj1992
Python
# Python Implementation to find the # repeating elements with there count # Function to find the repeating # elements with there count def findRepeating(arr, size): # Hash map to store the # frequency of elements frequency = {} # Loop to store the frequency of # elements of array for i in range (0, size): frequency[arr[i]] = \ frequency.get(arr[i], 0) + 1 return frequency # Driver Code if __name__ == "__main__": arr = [4, 4, 5, 5, 6] arr_size = len(arr) frequency = findRepeating(arr, arr_size) print("Below is the frequency\ of repeated elements -") for i in frequency: if frequency[i] > 1: print(i, " --> ", frequency[i])
C#
// C# Implementation to find the // repeating elements with there count using System; using System.Collections.Generic; class GFG { // Function to find the repeating // elements with there count static Dictionary<int, int> findRepeating(int []arr, int size){ // Hash map to store the // frequency of elements Dictionary<int,int> frequency = new Dictionary<int,int>(); // Loop to store the frequency of // elements of array for(int i = 0; i < size; i++) { if(frequency.ContainsKey(arr[i])) { frequency[arr[i]] = frequency[arr[i]] + 1; } else { frequency.Add(arr[i], 1); } } return frequency; } // Driver Code public static void Main(String []args) { int []arr = {4, 4, 5, 5, 6}; int arr_size = arr.Length; Dictionary<int,int> frequency = findRepeating(arr, arr_size); Console.WriteLine("Below is the frequency" +"of repeated elements -"); foreach (KeyValuePair<int,int> entry in frequency) if (entry.Value > 1) Console.WriteLine(entry.Key+ " --> "+entry.Value); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Javascript Implementation to find the // repeating elements with there count // Function to find the repeating // elements with there count function findRepeating(arr, size) { // Hash map to store the // frequency of elements var frequency = new Map(); // Loop to store the frequency of // elements of array for(var i = 0; i < size; i++) { if(frequency.has(arr[i])) { frequency.set(arr[i], frequency.get(arr[i])+1); } else { frequency.set(arr[i], 1); } } return frequency; } // Driver Code var arr = [4, 4, 5, 5, 6]; var arr_size = arr.length; var frequency = findRepeating(arr, arr_size); document.write("Below is the frequency" +"of repeated elements -<br>"); frequency.forEach((value, key) => { if (value > 1) document.write(key+ " --> "+value + "<br>"); }); // This code is contributed by rrrtnx. </script>
Producción:
Below is the frequency of repeated elements - 4 --> 2 5 --> 2