class Solution4 {//正确运行
public void rotate(int[] nums, int k) {
int n = nums.length;
k = k % n;
int start = 0;
int period = k;
while (start < period) {
int bak = nums[start];
int i = start;
while (true) {
int j = (i + n - k) % n;
if (j == start)
break;
period = Math.min(period, j);
nums[i] = nums[j];
i = j;
}
nums[i] = bak;
start++;
}
}
}
public class Solution1 {//超时
public void rotate(int nums[], int k) {
int temp;
int n = nums.length;
for (int step = 0; step < k; step++) {
temp = nums[n - 1];
for (int i = n - 1; i > 0; --i) {
nums[i] = nums[i - 1];
}
nums[0] = temp;
}
}
class Solution4 { public void rotate(int[] nums, int k) { int n = nums.length; k = k % n; int start = 0; int period = k; while (start < period) { int bak = nums[start]; in