Dada una string y un número N, necesitamos reflejar los caracteres desde la posición N-ésima hasta la longitud de la string en orden alfabético. En la operación de espejo, cambiamos ‘a’ por ‘z’, ‘b’ por ‘y’, y así sucesivamente.
Ejemplos:
Input : N = 3 paradox Output : paizwlc We mirror characters from position 3 to end. Input : N = 6 pneumonia Output : pneumlmrz
Tenemos una solución existente para este problema, consulte Caracteres espejo de un enlace de string . Podemos resolver este problema en Python usando la estructura de datos del diccionario . El valor espejo de ‘a’ es ‘z’, ‘b’ es ‘y’, etc., por lo que creamos una estructura de datos de diccionario y mapeamos uno a uno la secuencia inversa de alfabetos en la secuencia original de alfabetos. Ahora recorra los caracteres desde la longitud k en la string dada y cambie los caracteres a su valor espejo usando un diccionario.
Python3
# function to mirror characters of a string def mirrorChars(input,k): # create dictionary original = 'abcdefghijklmnopqrstuvwxyz' reverse = 'zyxwvutsrqponmlkjihgfedcba' dictChars = dict(zip(original,reverse)) # separate out string after length k to change # characters in mirror prefix = input[0:k-1] suffix = input[k-1:] mirror = '' # change into mirror for i in range(0,len(suffix)): mirror = mirror + dictChars[suffix[i]] # concat prefix and mirrored part print (prefix+mirror) # Driver program if __name__ == "__main__": input = 'paradox' k = 3 mirrorChars(input,k)
Producción:
paizwlc
Complejidad temporal: O(n)
Espacio Auxiliar: O(n)
Publicación traducida automáticamente
Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA