Este es un ejercicio que realiza facebook en sus pruebas técnicas.
En este artículo, cubriremos los siguientes temas:
✅ Una explicación del problema
✅ Una solución eficiente
✅ Implementaciones en Java, Python, PHP, C++ y JavaScript
Problema
Dadas dos palabras o strings , devolver true si son anagramas y falso en caso contrario.
Un anagrama es una palabra o frase formada reorganizando las letras de otra palabra o frase diferente.
Pasos para realizar el ejercicio:
1.- Se verifica si el tamaño de las palabras son diferentes. Si es así, entonces no pueden ser anagramas y se devuelve false, en caso contrario, se continúa.
2.- Se crean dos arrays vacíos cantidad_pablras_uno y cantidad_pablras_dos para almacenar la cantidad de veces que aparece cada letra en las palabras respectivamente.
3.- Se recorre cada letra de las palabras. En cada iteración, se guarda la letra evaluada como índice e incrementa su valor correspondiente en los arrays cantidad_palabras_uno y cantidad_palabras_dos.
4.- Se verifican que ambos arrays tengan las mismas letras como índices y la misma cantidad de elementos, en caso contrario, se devuelve false, porque significa que las palabras no son anagramas.
5.- Si no se ha devuelto false en ningún paso anterior, entonces las palabras son anagramas y se devuelve true.
En este artículo, hemos aprendido a resolver el ejercicio Anagrama Válido, uno de los ejercicios más populares de la plataforma LeetCode. Este ejercicio es un buen punto inicio para aprender a resolver problemas de sobre hash maps.