Dada una array de tamaño N y valores K , alrededor de los cuales debemos rotar la array a la derecha. ¿Cómo imprimir rápidamente la array girada a la derecha?
Ejemplos:
Input: Array[] = {1, 3, 5, 7, 9}, K = 2. Output: 7 9 1 3 5 Explanation: After 1st rotation - {9, 1, 3, 5, 7} After 2nd rotation - {7, 9, 1, 3, 5} Input: Array[] = {1, 2, 3, 4, 5}, K = 4. Output: 2 3 4 5 1
Acercarse:
- Primero tomaremos mod de K por N (K = K % N) porque después de cada N rotaciones, la array se convertirá en la misma que la array inicial.
- Ahora, iteraremos la array de i = 0 a i = N-1 y verificaremos,
- Si i < K , imprime el K-ésimo elemento más a la derecha (a[N + i -K]). De lo contrario,
- Imprime una array después de los elementos ‘K’ (a[i – K]).
- Si i < K , imprime el K-ésimo elemento más a la derecha (a[N + i -K]). De lo contrario,
A continuación se muestra la implementación del enfoque anterior.
Javascript
// Javascript implementation of right rotation // of an array K number of times // Function to rightRotate array function RightRotate(a, n, k) { // If rotation is greater // than size of array k = k % n; for (let i = 0; i < n; i++) { if (i < k) { // Printing rightmost // kth elements document.write(a[n + i - k] + " "); } else { // Prints array after // 'k' elements document.write((a[i - k]) + " "); } } document.write("<br>"); } // Driver code let Array = [1, 2, 3, 4, 5]; let N = Array.length; let K = 2; RightRotate(Array, N, K); // This code is contributed by gfgking.
Producción:
4 5 1 2 3
Complejidad temporal : O(n)
Espacio auxiliar : O(1)
Consulte el artículo completo sobre la array de impresión después de que se gire a la derecha K veces 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