Dada una string, nuestra tarea es encontrar la aparición de un carácter en la string con la ayuda de una función definida por el usuario.
Example: Input : "hello" Output : h occur 1 times e occur 1 times l occur 2 times o occur 1 times Explanation : here "hello" have 1 h, so it have 1 value. as same e have 1, l have 2 , o have 1. Example 2: Input : "did" Output: d occur 2 times i occur 1 times
Enfoque 1: en este enfoque, utilizamos una estructura de datos de mapa para almacenar la cantidad de veces que ocurren los caracteres.
- Primero inicializamos el mapa con la clave de cada carácter de la string y el valor de cada uno es 0.
- Iteramos sobre la string e incrementamos el valor del carácter.
- Finalmente, imprima los valores-clave del mapa.
Ejemplo:
Javascript
<script> //function to print occurrence of character function printans( ans ) { for( let [ key ,value] of ans) { // if() console.log(`${key} occurs ${value} times` ); } } // function count occurrence of character function count( str , outp_map ) { for( let i = 0 ;i < str.length ;i++) { let k = outp_map.get(str[i]); outp_map.set(str[i], k+1) ; } //calling print function printans(outp_map); } //function create map to count character function count_occurs( test , callback ) { //checking string is valid or not if( test.length === 0 ) { console.log(" empty string "); return ; } else { // map for storing count values let ans = new Map(); for( let i = 0 ;i < test.length;i++) { ans.set(test[i], 0); } callback( test ,ans); } } // test string let test = "helloworld"; count_occurs( test ,count); </script>
Producción:
h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times
Enfoque 2: en este enfoque, usamos el bucle for anidado para iterar sobre la string y contar cada carácter de la string.
- Primero inicialice la cuenta con el valor 0 para el i-ésimo valor de la string.
- Ahora iteramos sobre la string si el i-ésimo valor coincide con el carácter, aumentamos el valor de conteo en 1.
- Finalmente, imprime el valor de count.
Ejemplo:
Javascript
<script> // function that count character occurrences in string function count_occur( str ) { // checking string is valid or not if( str.length == 0 ) { console.log("Invalid string") return; } //cor loop to iterate over string for( let i = 0 ;i < str.length ;i++) { //variable counting occurrence let count = 0; for( let j = 0 ;j < str.length ;j++) { if( str[i] == str[j] && i > j ) { break; } if( str[i] == str[j] ) { count++; } } if( count > 0) console.log(`${str[i]} occurs ${count} times`); } } // test string let test_str = "gfghello"; count_occur( test_str); </script>
Producción:
g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times
Enfoque 3: en este enfoque, usaremos el ciclo for para iterar sobre la string completa. Este es el enfoque más simple que podemos implementar para averiguar la tarea resultante.
- Inicializaremos una variable de conteo que almacenará el conteo de todos y cada uno de los caracteres en una string.
- Luego, usando un bucle for, verificaremos cuántas veces se ha producido, repetido o presente un carácter en la string.
Javascript
// JavaScript code for the above approach... let countCharacters = (string) => { let count = 1; for (let i = 0; i < string.length; i++) { if (string[i] === string[i + 1]) { count++; } else { console.log(`${string[i]} occur ${count} times`); count = 1; } } }; countCharacters("hello"); // This code is contributed by Aman Singla...
Producción:
h occur 1 times e occur 1 times l occur 2 times o occur 1 times
Publicación traducida automáticamente
Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA