Estructuras de datos (3): Rotar un array
Rota un array hacia la izquierda o la derecha según el número indicado.
Eres un agente encubierto y estás en una fiesta de cóctel organizada por un cartel secreto malvado. Te has infiltrado en la oficina principal para revisar los archivos. Están organizados según un sistema de índices. Decides rotar los archivos para que, cuando el genio malvado vaya a buscar el Archivo 47: Cómo fabricar una bomba, en realidad tome el Archivo 43: Cómo fabricar un dinosaurio de papel maché. Su intento de fabricar una bomba fracasará y habrás salvado muchas vidas.
Tu desafío consiste en escribir una función que rote un array una cantidad determinada, hacia la izquierda o la derecha según si el número es positivo o negativo.
Argumentos
Array: El array que se rotará.Number: La cantidad de posiciones de índice que se rotará el array.- Devuelve
Array: El array rotado.
Ejemplos
Un número positivo lo rota hacia la derecha:
rotateArray([0, 1, 2, 3, 4, 5, 7, 9], 2) ➞ [7, 9, 0, 1, 2, 3, 4, 5]Un número negativo lo rota hacia la izquierda:
rotateArray([0, 1, 2, 3, 4, 5, 7, 9], -2) ➞ [2, 3, 4, 5, 7, 9, 0, 1]La cantidad por la que se rota puede ser mayor que la longitud del array; en ese caso, simplemente vuelve a comenzar desde el principio:
rotateArray([0, 1, 2, 3, 4, 5, 7, 9], 12) ➞ [4, 5, 7, 9, 0, 1, 2, 3]Notas
- Esta es una parte de mi serie de Estructuras de datos: una colección de desafíos comunes de entrevistas de programación utilizados para evaluar la comprensión de las estructuras de datos.
- Puedes encontrar la serie completa de desafíos aquí.