Hola a todos Cómo están en este video vamos a resolver un problema de entrevista técnica de programación el problema es encontrar el primer caracter repetido en una cadena de texto o String y aquí tengo cuatro ejemplos en el primero todos los caracteres se repiten pero la a es el primero que se repite Así que la respuesta es la a en el segundo también bien todos los caracteres se repiten pero la B es el que se repite primero Así que la respuesta es B en el tercero pueden ver que ningún carácter se repite Así que la respuesta sería nulo o sería no sé indefinido Y por último en este ejemplo la a la b y el emoji se repiten pero el que se repite primero es el emoji Así que la respuesta sería el emoji ahora que ya sabemos de qué se trata el problema vamos a analizar la solución en esta solución vamos a usar un ciclo para iterar caráter por carácter y vamos a ver si existe o no existe dentro de este set de ayuda si no existe lo vamos a agregar y si y si sí existe significa que hemos encontrado el primer caracter repetido vamos a ver cómo sería la solución paso a paso en la iteración uno estamos apuntando en el carácter a vemos si existe o no en el set como no existe lo almacenamos en el set en la segunda iteración estamos apuntando al carácter B como B no existe en el set lo almacenamos en la tercera iteración estamos apuntando en el carácter c Así que existe c en el set no no existe Así que lo almacenamos Y por último en la iteración cuatro estamos apuntando en el carácter a como sí existe en el set significa que a es el primer caracter que se repite antes de empezar a escribir código los quiero invitar a mi blog donde van a encontrar la solución de este problema y hay varios ejemplos también está la solución explicada paso a paso aquí van a encontrar el código y también pueden correr la solución en dpad también hay otros problemas también hay cabs de flutter donde hay diferentes tipos de aplicaciones y el link se lo voy a dejar en la descripción Ahora sí vamos vamos a codificar la solución para empezar necesitamos el texto que vamos a verificar después si recuerdan necesitamos un set en este set vamos a ir almacenando cada uno de los caracteres que ya hemos visitado en el ciclo después Necesito una variable de ayuda la que voy a llamar resultado y si se preguntan por qué si estoy almacenando cada uno de estos caracteres en este set este set es de tipo entero en un momento les voy a explicar la razón ahora Necesitamos un ciclo este ciclo me va a ayudar a iterar carácter por carácter y si vemos aquí Cómo accedemos a cada uno de los caracteres estamos utilizando texto Run y Qué es runs si vemos el código fuente de runs podemos ver que es un iterable como una lista y básicamente lo que dice es buo básicamente cada carácter tiene una representación en entero por ejemplo aquí en este ejemplo que tienen eh Cuando convierten este texto Dart a runs eh es una lista verdad Entonces el carácter de tiene el valor de 68 el caracter a de 97 la r 114 y la t 116 y bueno ahora que ya sabemos que cada carácter tiene una representación en entero eh sabemos que aquí este caracter va a ser de tipo entero y por eso aquí en este set estoy guardando números enteros y ahora bueno Vamos a continuar codificando recuerdan en la solución lo primero que tenemos que hacer es ver si el set contiene el carácter Así que ponemos un ni y vemos si el set contiene el carácter si esta condición es verdadera Entonces ya hemos encontrado el resultado Así que voy a guardar el carácter en la variable resultado y voy a terminar este ciclo pero si el set no contiene el carácter Entonces vamos a almacenar el carácter dentro del set por último lo que vamos a hacer es si el resultado es nulo significa que no encontramos ningún carácter repetido Así que vamos a imprimir no hay ningún carácter repetido o en el els eh vamos a imprimir Cuál es el carácter repetido Entonces vamos a imprimir el primer caráter repetido es y luego en la variable resultado recuerden es la que almacenamos el carácter repetido lo almacenamos aquí como es un entero vamos a convertir este entero String con con esta función char code y creo que esto ya es todo ahora si corremos Este programa vamos a ver cuál es el resultado es el primer el primer carácter repetido es a Y sí sí es a Y si vemos eh los otros ejemplos Déjenme ver Por ejemplo si tenemos este String aquí el primer caracter es la B bueno el primer caracter repetido es la B si lo corremos Aquí está el primer caracter repetido es B en este String aquí el primer caracter el primer carácter repetido debe ser el emoji vamos correrlo es el emoji Y por último vamos a probar este y no hay ningún carácter repetido vamos a correr el código y muy bien funciona no hay ningún carácter repetido no hay caracter repetido y creo que ya es todo este es un problema muy sencillo Tienen alguna pregunta o si conocen una solución que sea mejor o más eficiente déjenlo en los comentarios y bueno Muchas gracias Adiós