Nos dan dos strings, debemos verificar si las strings son Anagram. Ejemplos:
Input : "anagram", "nagaram" Output : yes Input : "mat", "fat" Output : no
Usamos la siguiente función incorporada para resolver este problema:
- count_chars() : esta función generalmente tiene sintaxis count_chars(string, return_mode) se usa para realizar varias operaciones relacionadas con la string. Este parámetro es opcional. Toma valor a 0, 1, 2, 3, 4.
La idea para resolver este problema usando la función mencionada anteriormente es usar el valor 1, es decir, en este modo elegido, la función anterior devolverá una array con pares de valores clave, donde las claves son valores ASCII y los valores correspondientes serán el número de ocurrencias de ese valor ASCII. La array posee solo aquellas claves como valores ASCII cuya frecuencia es mayor que 0.
php
// PHP code to check a given string is an anagram // of another or not <?php function is_anagram($string_1, $string_2) { if (count_chars($string_1, 1) == count_chars($string_2, 1)) return 'yes'; else return 'no'; } // Driver code print_r(is_anagram('program', 'grampro')."\n"); print_r(is_anagram('card', 'cart')."\n"); ?>
Producción:
yes no
Complejidad de tiempo: O(n) donde n es el tamaño de la string.