首页 > 编程语言 >PAT-basic-1008 数组元素循环右移问题 java

PAT-basic-1008 数组元素循环右移问题 java

时间:2023-02-18 12:55:48浏览次数:42  
标签:右移 PAT input int 数组 basic java Scanner

一、题目

一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?

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

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

输入样例:

6 2
1 2 3 4 5 6

输出样例:

5 6 1 2 3 4

二、解析

其实可以不移动,换个思路,从给定下标开始遍历这个数组就好了,比如561234,原数组是123456,就先遍历56,再1234。为了方便输出,可以用一个StringBuffer来存储要输出的数字。

三、代码

import java.util.ArrayList;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int m = input.nextInt();
        m %= n;
        int arr[] = new int[n];
        StringBuffer sb = new StringBuffer("");
        for(int i=0; i<n; i++)
            arr[i] = input.nextInt();
        for(int i=n-m; i<n; i++)
            sb.append(arr[i]+" ");
        for(int i=0; i<n-m; i++)
            sb.append(arr[i]+" ");
        System.out.println(sb.toString().trim());
    }
}

标签:右移,PAT,input,int,数组,basic,java,Scanner
From: https://www.cnblogs.com/langweixianszu/p/17132355.html

相关文章

  • PAT-basic-1009 说反话 java
    一、题目给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干......
  • PAT-basic-1006 换个格式输出整数 java
    一、题目让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSS......
  • PAT-basic-1007 素数对猜想 java
    一、题目让我们定义dn为:dn=p(n+1)−p~n,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意......
  • select stuff((select ','+行名 from 表名 for xml path('')),1,1,'') 双列合并
    xiaoming20你好xiaoli50啊xiafeng60你好啊laifu50你好   SELECTSTUFF((SELECT','+name+':'+str(count)FROMdbo.test......
  • Centos7系统-postgresql+etcd+patroni+haproxy+keepalived高可用集群部署
    一、概况1、概念pgsql高可用集群采用postgresql+etcd+patroni+haproxy+keepalived等软件实现,以postgresql做数据库,etcd存储集群状态,patroni与etcd结合实现数据库......
  • 正则表达式环视匹配(?=pattern)、(?!pattern)、(?<=pattern)、(?<!pattern)怎么用
    今天在处理数据的时候遇到一个,需要用正则表达式匹配不包含某字符的字符串的问题,用到否定匹配,现总结如下:一个正则小知识↓[]:表示范围,匹配其中任何一个{}:表示重复匹......
  • PAT-basic-1005 继续(3n+1)猜想 java
    一、题目卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数......
  • PAT-basic-1004 成绩排名 java
    一、题目读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为第1行:正整数n第2行:第1......
  • PAT-basic-1003 我要通过!java
    一、题目“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“......
  • PAT-basic-1002 写出这个数 java
    一、题目读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输......