Untitled

 avatar
unknown
plain_text
a year ago
1.0 kB
4
Indexable
import java.util.Arrays;

public class rotateArray {

    public static void swap(int[] arr, int left, int right) {

        int swap = arr[left];
        arr[left] = arr[right];
        arr[right] = swap;
    }

    public static void reverseArray(int[] arr, int left, int right) {

        while (left < right) {

            swap(arr, left, right);
            left++;
            right--;

        }

    }

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

        k = k % arr.length;

        if (arr.length == 0 || arr.length == 1 || k == 0) {
            return arr;
        }

        int pivot = arr.length - k;

        reverseArray(arr, pivot, arr.length - 1);
        reverseArray(arr, 0, pivot - 1);
        reverseArray(arr, 0, arr.length - 1);

        return arr;

    }

    public static void main(String[] args) {

        int[] arr = { 1, 2, 3, 4 };
        int k = 7;

        System.out.println(Arrays.toString(rotateArray(arr, k)));

    }

}
Editor is loading...
Leave a Comment