这样写好low啊,有没有更好的解法。
public int[] solve (int n, int m, int[] a) {
// write code here
int mov = m % n;
if (mov == 0) {
return a;
}
int temp;
if (n / 2 > mov) { // mov 较小,就从左向右边 移动mov下
for (int i = 0; i < mov; i++) {
temp = a[n-1];
for (int j = n - 1; j > 0; j--) {
a[j] = a[j - 1];
}
a[0] = temp;
}
} else { // mov 较大,就从右向左移动 n-mov 下
for (int i = 0; i < n-mov; i++) {
temp = a[0];
for (int j = 0; j < n - 1; j++) {
a[j] = a[j + 1];
}
a[n-1] = temp;
}
}
return a;
}
京公网安备 11010502036488号