数组的旋转是指每个元素右移一个索引,数组的最后一个元素也移到第一位

Dha*_*try -2 java arrays

例如,旋转array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7]。目标是将数组旋转 AK 次;也就是说,A 的每个元素都将向右移动 K 个索引。

例如,给定数组A = [3, 8, 9, 7, 6]K = 3,函数应该返回[9, 7, 6, 3, 8]

我想要这个在java中。我试过这个。

public static int[] rotation(int[] a,int k) {

    int[] newArray = new int[a.length];
    for(int i = 0 ; i < a.length ; i++) {
        int newPosition = (i + k)%a.length;
        newArray[newPosition] = a[i];
    }
    return newArray;
}
Run Code Online (Sandbox Code Playgroud)

Iry*_*nko 5

我没有得到确切想要的主题启动器,但这里是我执行此任务的代码

class Solution {
public int[] solution(int[] arr, int k) {
    int[] newArr = new int[arr.length];

    if (arr.length == 0) return arr;
       k = k%arr.length;
    for (int i=0; i<arr.length; i++) {

      newArr[i] = arr[(i + (arr.length - k)) % (arr.length)];

    }

    return newArr;
}
Run Code Online (Sandbox Code Playgroud)

}