Java数列循环右移
描述
| 有n个整数组成一个数组(数列)。现使数列中各数顺序依次向右移动k个位置,移出的数再从开头移入。输出移动后的数列元素,元素之间逗号隔开。 题目没有告诉你n的范围,要求不要提前定义数组的大小。 另外要求定义并使用函数ringShift() void ringShift(int *a, int n, int k) { //循环移动后的数值仍然存入数组a中 } |
输入
| 输入分2行,第一行是两个整数n与k。第二行是n个整数,用“,”隔开。 |
输出
| 输出有一行,是循环移位后的n个整数,由“,”隔开。 |
难度
| 中等 |
输入示例
6,2 |
输出示例
5,6,1,2,3,4 |
import java.util.Scanner;
public class Demo01{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String t=input.nextLine();
String[] t1=t.split(",");
String t3=input.nextLine();
String[] t2=t3.split(",");
int n=Integer.parseInt(t1[0]);
int k=Integer.parseInt(t1[1]);
int[] a=new int[n];
for(int i=0;i<n;i++){
a[i]=Integer.parseInt(t2[i]);
}
ringShift(a,n,k);
input.close();
}
public static void ringShift(int[] a,int n,int k){
int[] s=new int[n];
for(int i=0;i<n;i++){ //核心,中心思想
s[i]=a[n-k];
k--;
if(k==0){
k=n;
}
}
for(int i=0;i<n;i++){
a[i]=s[i];
}
System.out.print(a[0]);
for(int i=1;i<n;i++){
System.out.print(","+a[i]);
}
}
}
Java数列循环右移的更多相关文章
- Java数列循环左移
描述 有n个整数组成一个数组(数列).现使数列中各数顺序依次向左移动k个位置,移出的数再从尾部移入.输出移动后的数列元素. 题目没有告诉你n的范围,要求不要提前定义数组的大小. 另外要求定义并使用函数 ...
- PAT 乙级 1008.数组元素循环右移问题 C++/Java
1008 数组元素循环右移问题 (20 分) 题目来源 一个数组A中存有N(>)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥)个位置,即将A中的数据由(A0A1⋯ ...
- PAT——1008. 数组元素循环右移问题
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 ...
- PAT自测_打印沙漏、素数对猜想、数组元素循环右移、数字加倍重排、机器洗牌
-自测1. 打印沙漏() 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号 ...
- 第二周:Java For循环方法简介
1.for循环的作用 Java当中循环的意思就是让Java程序重复地执行某些语句.在程序设计时,常常需要处理大量的重复动作, 采用循环结构可以降低程序书写的长度和复杂度可使复杂问题简单化,提高程序的可 ...
- PAT 1008. 数组元素循环右移问题 (20)
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--AN-1)变换为(AN-M -- AN-1 A0 ...
- [Java基础]循环结构3
[Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...
- [java基础]循环结构2
[java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016 ...
- [java基础]循环结构1
[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...
随机推荐
- <七>对于之前的一些遗漏的地方的补充
1.线程的状态: 我们可以通过wait,start,notify等关键字来切换线程的状态,但是我们如何知道线程目前是处于哪一种状态呢?使用Thread.getState()来获取,有下面几种常见的状态 ...
- learn about sqlserver partitition and partition table --- add or remove table partitions
demo/* add partitions */ alter database xxx add filegroup FG_=fff_201708;alter database xxx add file ...
- 不同宿主的iterator不能进行比较
int main() { string str1, str2; auto it1 = str1.begin(), it2 = str2.begin(); it1 == it2; ; }
- vuejs之vue和springboot后端进行通信
一.新建一个vue项目,建立好后的相关文件 查看一下新建好的vue项目的结构: 当前各个文件中的内容: App.vue:主入口 <template> <div id="ap ...
- UnityTips:不要在发布版本中实现OnGUI方法
0x00 问题 不知道大家是否在调试Unity应用性能的时候发现过一条常见的Marker:UIEvents.IMGUIRenderOverlays. 很多情况下,这条叫做UIEvents.IMGUIR ...
- grep知识及常用用法梳理
1. grep语法及其参数说明 grep是文本搜索工具,能根据用户指定的'PATTERN模式'目标文本进行逐行匹配检查,注意grep默认会以 行 为单位打印匹配到的行. 以下是grep命令的语法及常用 ...
- [CentOS7 mini]Linux命令补全 yum install bash-completion
CentOS7 mini默认不带命令补全需要自行安装 使用国内yum清华源 安装完后退出当前窗口再登录生效 # yum install -y bash-completion 已加载插件:fastest ...
- 获取tensorflow中变量的值
names=[i.name for i in tf.all_variables()]for i in names: print i ker=tf.get_default_graph().get_ten ...
- python爬虫实战:基础爬虫(使用BeautifulSoup4等)
以前学习写爬虫程序时候,我没有系统地学习爬虫最基本的模块框架,只是实现自己的目标而写出来的,最近学习基础的爬虫,但含有完整的结构,大型爬虫含有的基础模块,此项目也有,“麻雀虽小,五脏俱全”,只是没有考 ...
- JavaScript节流与防抖函数封装
js节流与防抖函数封装 常见应用场景: window的 resize 和 scroll 事件: 文字输入时的 keyup 事件: 元素拖拽.移动时的 mousemove 事件: 防抖 定义:多次触发事 ...