Dado un vector vec , la tarea es encontrar la frecuencia de cada elemento de vec usando un mapa .
Ejemplos:
Entrada: vec = {1, 2, 2, 3, 1, 4, 4, 5}
Salida:
1 2
2 2
3 1
4 2
5 1
Explicación:
1 ha ocurrido 2 veces
2 ha ocurrido 2 veces
3 ha ocurrido 1 vez
4 ha ocurrido 2 veces
5 ha ocurrido 1 vez
Entrada: v1 = {6, 7, 8, 6, 4, 1}
Salida:
1 1
4 1
6 2
7 1
8 1
Explicación:
1 ha ocurrido 1 vez
4 ha ocurrido 1 6 veces
ha ocurrido 2 veces
7 ha ocurrido 1 vez
8 ha ocurrido 1 vez
Enfoque:
podemos encontrar la frecuencia de los elementos en un vector usando cuatro pasos dados de manera eficiente:
- Recorre los elementos del vector vec dado .
- comprobar si el elemento actual está presente en el mapa o no.
- Si está presente, actualice la frecuencia del elemento actual; de lo contrario, inserte el elemento con la frecuencia 1 como se muestra a continuación:
- Recorra el mapa e imprima la frecuencia de cada elemento almacenado como un valor mapeado.
A continuación se muestra la implementación del enfoque anterior:
CPP
#include <bits/stdc++.h> using namespace std; void printFrequency(vector<int> vec) { // Define an map map<int, int> M; // Traverse vector vec check if // current element is present // or not for (int i = 0; vec[i]; i++) { // If the current element // is not found then insert // current element with // frequency 1 if (M.find(vec[i]) == M.end()) { M[vec[i]] = 1; } // Else update the frequency else { M[vec[i]]++; } } // Traverse the map to print the // frequency for (auto& it : M) { cout << it.first << ' ' << it.second << '\n'; } } // Driver Code int main() { vector<int> vec = { 1, 2, 2, 3, 1, 4, 4, 5 }; // Function call printFrequency(vec); return 0; }
1 2 2 2 3 1 4 2 5 1
Análisis de
Complejidad: Complejidad de Tiempo: O(n log n)
Para un vector dado de tamaño n, estamos iterando sobre él una vez y la complejidad de tiempo para buscar elementos en el mapa es O(log n). Entonces, la complejidad del tiempo es O(n log n)
Complejidad del espacio: O(n)
Para un vector dado de tamaño n, estamos usando un mapa adicional que puede tener un máximo de n valores clave, por lo que la complejidad del espacio es O(n)
Publicación traducida automáticamente
Artículo escrito por ShivaTeja2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA