7-1 数组循环左移 (20分)
输入样例:
8 3
1 2 3 4 5 6 7 8输出样例:
4 5 6 7 8 1 2 3
import java.util.Scanner;
public class Main{
static int[] res = new int[1000];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
m %= n;//注意m>n的情况
int count = 0;
int i=n;
//直接将前几位移到后面,牺牲空间换时间
while(count++<m) res[i++] = sc.nextInt();
for(i=m;i<n;i++) res[i] = sc.nextInt();
for(i=m;i<n+m;i++) {
if(i!=m) System.out.print(" "+res[i]);
else System.out.print(res[i]);
}
}
}
如果大神还有更好的方法,也可以交流交流.