Python | Cuente todos los prefijos en una string dada con mayor frecuencia

Dada una string, imprima y cuente todos los prefijos en los que el primer alfabeto tenga mayor frecuencia que el segundo alfabeto.
Tome dos alfabetos del usuario y compárelos. Los prefijos en los que el alfabeto dado primero tiene mayor frecuencia que el segundo alfabeto, dichos prefijos se imprimen, de lo contrario el resultado será 0. 
Ejemplos: 
 

Input : string1 = "geek", 
        alphabet1 = "e", alphabet2 = "k"
Output :
ge
gee
geek
3

Input : string1 = "geek",
        alphabet1 = "k", alphabet2 = "e"
Output :
0

Enfoque: tome una string vacía para almacenar los valores de string de todos los prefijos formados. Luego busque el alfabeto con mayor frecuencia que el segundo alfabeto. Si no se encuentra tal caso, el resultado será 0 prefijos.
A continuación se muestra la implementación:
 

Python3

# Python program to Count all
# prefixes in given string with
# greatest frequency
 
# Function to print the prefixes
def prefix(string1, alphabet1, alphabet2):
    count = 0
    non_empty_string = ""
     
    string2 = list(string1)
     
    # Loop for iterating the length of
    # the string and print the prefixes
    # and the count of query prefixes.
    for i in range(0, len(string2)):
        non_empty_string = non_empty_string + (string2[i])
         
        if (non_empty_string.count(alphabet1) >
            non_empty_string.count(alphabet2)):
                 
            # prints all required prefixes
            print(non_empty_string)
             
            # increment count
            count += 1
             
    # returns count of the
    # required prefixes
    return(count)
     
# Driver Code
print(prefix("geeksforgeeks", "e", "g"))
Producción : 

gee
geek
geeks
geeksf
geeksfo
geeksfor
geeksforge
geeksforgee
geeksforgeek
geeksforgeeks
10

 

Complejidad de tiempo: O(N), donde N es la longitud de la string

Espacio Auxiliar: O(N)

Publicación traducida automáticamente

Artículo escrito por Shubham_Singh_29 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 *