Dada una lista de strings, la tarea es escribir un programa de Python para extraer strings que formen el orden alfabético creciente más largo en el índice Kth. K debe ser menor que la longitud mínima de todas las strings.
Entrada : lista_prueba = [“gfg”, “es”, “mejor”, “para”, “geeks”, “y”, “cs”], K = 0
Salida : [‘mejor’, ‘para’, ‘geeks ‘]
Explicación : la subsecuencia más larga extraída al comparar el índice 0. En el índice 0, b < f < g. Consecución más larga posible. El siguiente ser ‘a’ se vuelve más pequeño que ‘g’, por lo tanto, se rompe la racha.
Entrada : test_list = [“gfg”, “is”, “geeks”, “and”, “cs”], K = 0
Salida : [‘gfg’, ‘is’]
Explicación : subsecuencia más larga extraída comparando el índice 0.
Entrada: test_list = [“gfg”, “is”, “geeks”, “and”, “cs”], K = 4
Salida: []
Explicación: longitudes más pequeñas en la string, es 2 de ‘is’ y ‘cs’ . Dado que K >= min_length, no hay resultado.
Método: Usar bucle con ventana deslizante
En esto, seguimos comprobando el aumento de las substrings más largas utilizando la técnica de ventana deslizante y seguimos actualizando la secuencia máxima de substrings y actualizando la lista de resultados.
Por fin, el resultado se imprime en consecuencia.
Ejemplo :
Python3
# Python3 code to demonstrate working of # Longest Alphabetic order of Kth index # Using loop with sliding window # initializing list test_list = ["gfg", "is", "best", "for", "geeks", "and", "cs"] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 1 res = [] curr = test_list[:1] for idx in range(1, len(test_list)): # checking for greater element if test_list[idx][K] <= test_list[idx - 1][K]: # comparing current with maximum length if len(curr) > len(res): res = curr curr = [test_list[idx]] else: curr.append(test_list[idx]) if len(curr) > len(res): res = curr # printing result print("Longest increasing Alphabetic order : " + str(res))
Producción:
La lista original es: [‘gfg’, ‘is’, ‘best’, ‘for’, ‘geeks’, ‘and’, ‘cs’]
Orden alfabético ascendente más largo: [‘geeks’, ‘and’, ‘cs’]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA