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"))
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