题解 | #旋转数组#
旋转数组
https://www.nowcoder.com/practice/e19927a8fd5d477794dac67096862042
import java.util.*;
public class Solution {
/**
* 旋转数组
* @param n int整型 数组长度
* @param m int整型 右移距离
* @param a int整型一维数组 给定数组
* @return int整型一维数组
*/
public static int[] solve (int n, int m, int[] a) {
m=m%n;
int[] ar=new int[m];
//转存n-m以后的数据
for (int i = n-m; i < n; i++) {
ar[i+m-n]=a[i];
}
//从末尾开始往后覆盖
for (int i = n-m-1; i >=0; i--) {
a[i+m]=a[i];
}
//处理前置
for (int i = 0; i < m; i++) {
a[i]=ar[i];
}
return a;
}
}


查看1道真题和解析