Ниже код демонстрирует, как вы можете вращать массив.
Первый arraycopy()
вызов копирует последнюю часть массива (от rotateBy
до конца).Второй вызов arraycopy()
копирует начальную часть массива (от начального до rotateBy
).
import java.util.Arrays;
public class Rotate {
public static void main(String[] args) {
double[] input = {8, 4, 5, 21, 7, 9, 18, 2, 100};
double[] output = rotate(input, 3);
System.out.println("Input: " + Arrays.toString(input));
System.out.println("Output: " + Arrays.toString(output));
}
public static double[] rotate(double[] inputArray, int rotateBy) {
double[] output = new double[inputArray.length];
System.arraycopy(inputArray, rotateBy, output, 0, inputArray.length - rotateBy);
System.arraycopy(inputArray, 0, output, inputArray.length - rotateBy, rotateBy);
return output;
}
}