Requisito previo: Estructura de datos del diccionario Dada una string, encuentre la primera palabra repetida en una string. Ejemplos:
Input : "Ravi had been saying that he had been there" Output : had Input : "Ravi had been saying that" Output : No Repetition Input : "he had had he" Output : he
Tenemos una solución existente para este problema, consulte Buscar la primera palabra repetida en un enlace de string . Podemos resolver este problema rápidamente en python usando la estructura de datos del Diccionario . El enfoque es simple,
- Primera string dada dividida separada por espacios.
- Ahora convierta la lista de palabras en un diccionario usando el método collections.Counter (iterador) . El diccionario contiene palabras como clave y su frecuencia como valor.
- Ahora recorra la lista de palabras nuevamente y verifique qué primera palabra tiene una frecuencia mayor que 1.
Python3
# Function to Find the first repeated word in a string from collections import Counter def firstRepeat(input): # first split given string separated by space # into words words = input.split(' ') # now convert list of words into dictionary dict = Counter(words) # traverse list of words and check which first word # has frequency > 1 for key in words: if dict[key]>1: print (key) return # Driver program if __name__ == "__main__": input = 'Ravi had been saying that he had been there' firstRepeat(input)
Producción:
had
Complejidad de tiempo: O (longitud (palabras))
Espacio auxiliar: O (longitud (dict))
Publicación traducida automáticamente
Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA