网易笔试题:数组转置问题
2017-08-24 21:15
246 查看
问题:
小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。
思路:输入4个数,分别为1,2,3,4;查找规律。
(1)输入1,结果为1
(2)输入2,队列1,2;转置后结果为2,1
(3)输入3,队列3,1,2;此时不需要转置,因为结果3,1,2
(4)输入4,队列3,1,2,4;此时需要转置,结果为4,2,1,3
根据以上规律,可以看出,每当输入一个数时,需要将此数放在对头或对尾(n-1个放在对头,n个放在对尾),一个需要转置,另一个不需要转置。
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
import javax.sound.midi.Sequence;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] num=new int
;
boolean convert=false;
for(int i=0;i<n;i++){
num[i]=sc.nextInt();
}
Deque<Integer> que=new LinkedList<Integer>();
for(int k=0;k<n;k++){
if(convert){
que.addLast(num[k]);
}else{
que.addFirst(num[k]);
}
convert=!convert;
}
if(convert){
while(que.size()!=1){
System.out.print(que.pollFirst()+" ");
}
System.out.print(que.pollFirst());
}else{
while(que.size()!=1){
System.out.print(que.pollLast()+" ");
}
System.out.print(que.pollLast());
}
}
}
小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。
思路:输入4个数,分别为1,2,3,4;查找规律。
(1)输入1,结果为1
(2)输入2,队列1,2;转置后结果为2,1
(3)输入3,队列3,1,2;此时不需要转置,因为结果3,1,2
(4)输入4,队列3,1,2,4;此时需要转置,结果为4,2,1,3
根据以上规律,可以看出,每当输入一个数时,需要将此数放在对头或对尾(n-1个放在对头,n个放在对尾),一个需要转置,另一个不需要转置。
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
import javax.sound.midi.Sequence;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] num=new int
;
boolean convert=false;
for(int i=0;i<n;i++){
num[i]=sc.nextInt();
}
Deque<Integer> que=new LinkedList<Integer>();
for(int k=0;k<n;k++){
if(convert){
que.addLast(num[k]);
}else{
que.addFirst(num[k]);
}
convert=!convert;
}
if(convert){
while(que.size()!=1){
System.out.print(que.pollFirst()+" ");
}
System.out.print(que.pollFirst());
}else{
while(que.size()!=1){
System.out.print(que.pollLast()+" ");
}
System.out.print(que.pollLast());
}
}
}
相关文章推荐
- 网易2017春招笔试--队形调整问题
- 网易笔试题目:三列布局,中间自适应宽度,双飞翼布局,及问题
- 前端笔试题网易之一-js函数体内的名称解析问题
- 一道编程之美上的问题-腾讯的笔试题目:求数组的部分乘积
- 【面试笔试算法】Problem 1 : DP滑雪问题--网易互联网算法实习生2017笔试题
- 【面试笔试算法】Problem 1 : DP滑雪问题--网易互联网算法实习生2017笔试题
- 二维数组整型数组转置的问题
- 「算法」网易笔试算法 重排数组 java
- 网易2017实习笔试题-CPU双核调度问题
- Python解决消除重复元素问题【2017年网易春招笔试题】
- IBM中国研究院、SAP、网易游戏、IBM2015应届生招聘笔试面试问题分享
- 数组的循环右移问题(好未来笔试题)
- 混合颜料问题-网易的笔试题目(高斯消元找极大线性无关组)
- 【编程题】网易有道笔试题——数字位数全排列整除问题
- IBM中国研究院、SAP、网易游戏、IBM2015应届生招聘笔试面试问题分享
- 网易游戏笔试题:输入一个数n,返回一个数组,数组中每个元素对应[0,n]每个数的二进制中1的个数
- 网易笔试的两道dp问题
- 网易考拉2017暑假实习生招聘笔试题(网络问题)
- 网易2013校招笔试题(抓鱼问题)(未完待续)
- 网易2017春招笔试--双核cpu任务分配问题