How to rotate array elements left N times in Scala

1 Answer

0 votes
object RotateArray {
  def rotateLeft(arr: Array[Int], positions: Int): Array[Int] = {
    val n = arr.length
    val pos = positions % n
    arr.slice(pos, n) ++ arr.slice(0, pos)
  }

  def main(args: Array[String]): Unit = {
    val arr = Array(1, 2, 3, 4, 5, 6, 7)

    println(s"Original array: ${arr.mkString(", ")}")

    val rotated = rotateLeft(arr, 2)

    println(s"Rotated array: ${rotated.mkString(", ")}")
  }
}



/*
run:

Original array: 1, 2, 3, 4, 5, 6, 7
Rotated array: 3, 4, 5, 6, 7, 1, 2

*/

 



answered Oct 23 by avibootz
...