package com.rover.dxs;
import java.util.Scanner;
public class ForRight {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int M=sc.nextInt();
if (M>N&&M%N==0) { //M>N且为N的整数倍
M=-N;
}else if (M>N) { //M>N
M=M%N;
}
int[] Q=new int[2*N-M];
for (int i = 0; i <N; i++) {<span style="white-space:pre"> </span>//输入
Q[i]=sc.nextInt();
}
long a= System.currentTimeMillis();
for (int i = 0; i <N-M; i++) {<span style="white-space:pre"> </span>//前面的数后移
Q[N+i]=Q[i];
}
for (int i = 0; i < N; i++) {<span style="white-space:pre"> </span>//输出
if (i==N-1) {
System.out.print(Q[N-M+i]);
}else {
System.out.print(Q[N-M+i]+" ");
}
}
long b=System.currentTimeMillis();
Runtime rt=Runtime.getRuntime();
System.out.println("程序运行的时间:"+(b-a)+"ms");
System.out.println("程序运行的内存:"+((rt.totalMemory()-rt.freeMemory())/1024/1024)+"MB");
}
}
【Java算法学习笔记】数组元素循环右移问题
最新推荐文章于 2023-09-11 15:46:41 发布