Arrays: Left Rotation

A left rotation operation on an array shifts each of the array's elements  unit to the left. For example, if  left rotations are performed on array , then the array would become .

Given an array  of  integers and a number, , perform  left rotations on the array. Return the updated array to be printed as a single line of space-separated integers.



Function Description

Complete the function rotLeft in the editor below. It should return the resulting array of integers.

rotLeft has the following parameter(s):

An array of integers .
An integer , the number of rotations.
Input Format

The first line contains two space-separated integers  and , the size of  and the number of left rotations you must perform.

The second line contains  space-separated integers .

Constraints

Output Format

Print a single line of  space-separated integers denoting the final state of the array after performing  left rotations.

Sample Input

5 4
1 2 3 4 5
Sample Output

5 1 2 3 4
Explanation

When we perform  left rotations, the array undergoes the following sequence of changes:


public class Rotation {

       public static void main(String[] args) {

              Scanner scn = new Scanner(System.in);
              int sizeArray = scn.nextInt();
              int rotaionLeft = scn.nextInt();
              int arr[] = new int[sizeArray];

              if(rotaionLeft > sizeArray){
                     rotaionLeft = rotaionLeft/sizeArray;
               }

              for(int i=0;i<arr.length;i++){
                  arr[i] = scn.nextInt();
                 }

             int [] rotatedArray = rotateArray(arr, rotaionLeft);

              System.out.println(Arrays.toString(rotatedArray));

 }

 public static int[] rotateArray(int [] arr, int d){

         int count = 1;
         while(count<=d){
              int temp = arr[0];
              for(int j=0;j<arr.length;j++){
                    if(j>0 && j<arr.length){
                          arr[j-1]=arr[j];
                      }if(j == arr.length-1){
                           arr[j] = temp;
                      }
                }
               count++;
           } 
      return arr;
  }
}

Post a Comment

Previous Post Next Post