Dada una array de enteros arr[] de tamaño N , la tarea es imprimir todas las rotaciones posibles de la array.
Ejemplos:
Entrada: arr[] = {1, 2, 3, 4}
Salida: {1, 2, 3, 4}, {4, 1, 2, 3}, {3, 4, 1, 2}, {2, 3, 4, 1}
Explicación:
Inicial arr[] = {1, 2, 3, 4}
Después de la primera rotación arr[] = {4, 1, 2, 3}
Después de la segunda rotación arr[] = {3, 4, 1, 2}
Después de la tercera rotación arr[] = {2, 3, 4, 1}
Después de la cuarta rotación, arr[] vuelve a su forma original.
Entrada: arr[] = [1]
Salida: [1]
Enfoque:
siga los pasos a continuación para resolver el problema:
- Genere todas las rotaciones posibles de la array, realizando una rotación a la izquierda de la array una por una.
- Imprima todas las rotaciones posibles de la array hasta que se encuentre la misma rotación de la array.
A continuación se muestra la implementación del enfoque anterior:
Python
# Python program to print # all possible rotations # of the given array # Function to reverse array # between indices s and e def reverse(arr, s, e): while s < e: tem = arr[s] arr[s] = arr[e] arr[e] = tem s = s + 1 e = e - 1 # Function to generate all # possible rotations of array def fun(arr, k): n = len(arr)-1 # k = k % n v = n - k if v>= 0: reverse(arr, 0, v) reverse(arr, v + 1, n) reverse(arr, 0, n) return arr # Driver Code arr = [1, 2, 3, 4] for i in range(0, len(arr)): count = 0 p = fun(arr, i) print(p, end =" ")
[1, 2, 3, 4] [4, 1, 2, 3] [2, 3, 4, 1] [3, 4, 1, 2]
Complejidad Temporal: O (N 2 )
Espacio Auxiliar: O (1)
Consulte el artículo completo sobre Imprimir todas las rotaciones posibles de una array determinada 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