Dada una string S que consta de alfabetos ingleses en minúsculas, la tarea es imprimir la palabra más larga presente en la string dada en python.
Ejemplos:
Entrada: S = «confía y sé tú mismo»
Salida: «confía»
Explicación:
Las palabras presentes en la oración son «estar», «confiar», «y», «ser» y «tú mismo». La longitud de cada una de las palabras es 2, 9, 3, 2 y 8 respectivamente.
Por lo tanto, la palabra más larga es “confiado”.Entrada: S = «geeks para geeks»
Salida: «geeks»
Enfoque basado en la búsqueda: Consulte este artículo para resolver este problema realizando los siguientes pasos:
- Iterar sobre los caracteres de la string.
- Compruebe si el carácter actual encontrado es un espacio o si se alcanza el final de la string.
- Si se encuentra que el carácter actual es así, actualice la longitud máxima de una palabra obtenida.
- Finalmente, imprima la palabra más larga obtenida usando el método substr() .
Complejidad temporal: O(N) Espacio auxiliar: O(N)
Enfoque utilizando el método sorted() : la idea es dividir la string en palabras separadas y almacenarlas en una lista . Luego, ordene la lista en orden creciente de longitud usando el método sorted() . Imprime la última string en la lista ordenada.
A continuación se muestra la implementación del enfoque anterior:
Python3
# Python3 program for the above approach # Function to print the longest # word in given sentence def largestWord(s): # Sort the words in increasing # order of their lengths s = sorted(s, key = len) # Print last word print(s[-1]) # Driver Code if __name__ == "__main__": # Given string s = "be confident and be yourself" # Split the string into words l = list(s.split(" ")) largestWord(l)
confident
Complejidad de tiempo: O(N * logN)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por thotasravya28 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA