题解 | #旋转数组#
旋转数组
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; } }