import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 旋转数组
* @param n int整型 数组长度
* @param m int整型 右移距离
* @param a int整型一维数组 给定数组
* @return int整型一维数组
*/
public int[] solve (int n, int m, int[] a) {
// write code here
int k = m % n;
if (k == 0) return a;
// 数组坐标循环怼
for (int i = 0; i < k; i++) {
if (i + 1 != a[i]) continue;
int next = i, val = a[i];
do {
next = (next + k) % n;
int tmp = a[next];
a[next] = val;
val = tmp;
} while (next != i);
}
return a;
}
}

京公网安备 11010502036488号