Здесь я вращаю массив с помощью некоторого временного массива.
Есть ли другой лучший способ улучшить приведенный ниже код для вращения массива? Я новичок в структурах данных, и как мне определить временную сложность такого кода?
class Arrayrotation {
public int[] inserttemp(int b[], int move, int len) {
int c[] = new int[move];
for (int i = 0; i < move; i++) {
c[i] = b[i];
//System.out.println(c[i]);
}
return c;
}
public int[] rotate(int b[], int move, int len, int d[]) {
int orglen = move;
int[] a = new int[len - orglen];
int k = 0;
for (int i = 0; i < b.length; i++) {
if (move < b.length) {
b[i] = b[move++];
} else if (move >= b.length) {
b[i] = d[k++];
}
}
System.out.println(Arrays.toString(b));
return b;
}
public static void main(String args[]) {
Arrayrotation a = new Arrayrotation();
int[] b = { 1,2,3,4,5,6,7,8,9};
int rotate = 3;
int[] d;
int[] f;
d = a.inserttemp(b, rotate, b.length);
a.rotate(b, rotate, b.length, d);
}
}