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; } }