Dadas dos strings, la tarea es encontrar si se puede obtener una string rotando otra string dos lugares.
Ejemplos:
Entrada : string1 = «amazon», string2 = «azonam»
Salida: Sí
// girado en sentido antihorario
Entrada : string1 = «amazon», string2 = «onamaz»
Salida : Sí
// girado en sentido horario
Preguntado en : Amazon Entrevista
1- There can be only two cases: a) Clockwise rotated b) Anti-clockwise rotated 2- If clockwise rotated that means elements are shifted in right. So, check if a substring[2.... len-1] of string2 when concatenated with substring[0,1] of string2 is equal to string1. Then, return true. 3- Else, check if it is rotated anti-clockwise that means elements are shifted to left. So, check if concatenation of substring[len-2, len-1] with substring[0....len-3] makes it equals to string1. Then return true. 4- Else, return false.
A continuación se muestra la implementación del enfoque anterior.
Python3
# Python 3 program to check if a string # is two time rotation of another string. # Function to check if string2 is # obtained by string 1 def isRotated(str1, str2): if (len(str1) != len(str2)): return False if(len(str1) < 2): return str1 == str2 clock_rot = "" anticlock_rot = "" l = len(str2) # Initialize string as anti-clockwise # rotation anticlock_rot = (anticlock_rot + str2[l - 2:] + str2[0: l - 2]) # Initialize string as clock wise # rotation clock_rot = clock_rot + str2[2:] + str2[0:2] # check if any of them is equal to string1 return (str1 == clock_rot or str1 == anticlock_rot) # Driver code if __name__ == "__main__": str1 = "geeks" str2 = "eksge" if isRotated(str1, str2): print("Yes") else: print("No") # This code is contributed by ita_c
Producción:
Yes
Consulte el artículo completo sobre Comprobar si se puede obtener una string girando otra string 2 lugares para obtener más detalles.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA