Hey queridos devs, este algoritmo es un clásico, pero por creer que lo dominamos, a la hora de la hora nos da problemas en un live coding, así que de una vez por todas hagámoslo 😉.
Enunciado
Dada una cadena de texto, hallar la palabra más larga dentro de ella.
Si hay empates, devolver la primera ocurrencia.
Comencemos a analizar primero y luego a hacer el algoritmo en C#.
Algoritmo
Los pasos a seguir serán:
- Dividir el texto en un arreglo de strings
- Declarar dos variables: longitud máxima y palabra más larga
- Iterar por cada palabra
- En cada iteración comparamos si la longitud de ella es mayor a la longitud máxima entonces reemplaza su valor y también actualizamos la palabra más larga
- Devolver la palabra más larga
Código
public static string Run(string frase)
{
string[] arreglo = frase.Split(' ');
int maxLength = 0;
string longestWord = "";
foreach(var palabra in arreglo)
{
if(palabra.Length > maxLength)
{
maxLength = palabra.Length;
longestWord = palabra;
}
}
return longestWord;
}
Pongámoslo a prueba:
Efectivamente obtengo:
Eso es todo, ahora te toca hacerlo tú mismo, hacerlo en otro lenguaje de programación y practicar como un orate 😜.
Recuerda que esta entrada es de la serie de artículos Algoritmos notables, los cuales los subo a este repo, puedes visitarlo y descubrir más algoritmos 😊
Si esta entrada te ha gustado, pues compártela crack 🎉