pta乙级 1008 数组元素循环右移问题 java

在这里插入图片描述
输入格式:
每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。

输出格式:
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

输入样例:

6 2
1 2 3 4 5 6

输出样例:

5 6 1 2 3 4
//1007
import java.util.Scanner;
import java.util.Arrays;
public class Main{
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
//        输入N和M
        int N=in.nextInt();
        int M=in.nextInt();
        String input1=in.nextLine();
        String[] numS;
        int[] num=new int[N];
        numS=in.nextLine().split(" ");
        for(int i=0;i<N;i++){
            num[i]=Integer.parseInt(numS[i]);
        }
        while(true){
            if(N>M){
                for (int i = N - M; i < N; i++) {
                    System.out.print(num[i] + " ");
                }
                for (int i = 0; i < N - M; i++) {
                    if (i == N - M - 1) {
                        System.out.print(num[i]);
                    } else {
                        System.out.print(num[i] + " ");
                    }
                }
                break;
            }
            else{
                M-=N;
            }
        }

    }
}

错误思路是直接用字符串来调整,但实际上多位数是很难判断的;只考虑到N>M的情况,实际上M也有可能>N。

发布了8 篇原创文章 · 获赞 0 · 访问量 189

猜你喜欢

转载自blog.csdn.net/weixin_44211856/article/details/104092129