网易笔试题:数组转置问题
来源:互联网 发布:淘宝我的购物车打不开 编辑:程序博客网 时间:2024/06/11 21:21
问题:
小易有一个长度为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[n];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());}}}
阅读全文
0 0
- 网易笔试题:数组转置问题
- 网易笔试题:男女小孩站队问题
- 网易笔试问题--跳格子
- 网易一道笔试题!
- 网易笔试题
- 网易笔试题
- 网易笔试题一道
- 网易一道笔试题!
- 网易笔试题
- 网易笔试题
- 2012网易笔试题
- 网易有道笔试题
- 网易程序笔试题
- 网易有道笔试题
- 网易Java笔试题
- 网易笔试题
- 网易笔试题
- 网易C++笔试题
- html表单与页面控件联系
- 8月24日
- Linux上silk微信语音转换成mp3格式
- C#实现ADSL断开链接或者拨号
- 记录android studio学习中脱的一些坑
- 网易笔试题:数组转置问题
- 关于return的理解
- 决策树decision tree+SVM+knn+随机森林+高斯贝叶斯
- Necklace of Beads POJ
- 安卓本地数据库SQLite简单使用
- 装饰模式
- Eclipse环境下如何消除JSTL <c:out>标签出现的”Multiple annotations found at this line“告警
- Dubbo_特性2
- 2017 Multi-University Training Contest