Programa de Python para encontrar la palabra más larga en una oración

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)
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *