Programa Python para obtener el orden alfabético más largo del índice Kth de los valores de la lista

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

Deja una respuesta

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