网易笔试:操作序列
来源:互联网 发布:传奇mac 编辑:程序博客网 时间:2024/05/26 02:52
网易笔试:操作序列
题目描述
小易有一个长度为n的整数序列,a_1,…,a_n。然后考虑在一个空序列b上进行n次以下操作:
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。
输入描述:
输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度。
第二行包括n个整数a_i(1 ≤ a_i ≤ 10^9),即序列a中的每个整数,以空格分割。输出描述:
在一行中输出操作n次之后的b序列,以空格分割,行末无空格。输入例子1:
4
1 2 3 4输出例子1:
4 2 1 3
思路:
不用真的翻转,找到规律也能写出来。
规律就是:
首先从最后一个数开始,从后向前输出,每次都跳过一个,即5 3 1
然后从前向后输出,每次都跳过一个,即2 4
有一点需要注意,奇序列和偶序列有点区别,在从前向后输出时,奇序列从第二个数开始,偶序列从第一个开始,需要区别对待重点内容。
java代码如下:
import java.util.Scanner;public class Main { public static void solution(int n, int[] arr) { int i = n - 1; for(; i >= 0; i -= 2) { System.out.print(arr[i] + " "); } i = (i == -2) ? 1 : 0; for(; i < n - 2; i += 2) { System.out.print(arr[i] + " "); } System.out.println(arr[n-2]); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for(int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } solution(n, arr); sc.close(); }}
注:学渣心里苦,不要学楼主,平时不努力,考试二百五,哭~
阅读全文
1 0
- 网易笔试:操作序列
- 网易笔试在线编程_ 操作序列
- 2018网易笔试题-操作序列
- 2018网易内推笔试-操作序列(python)
- 网易2018内推笔试题_操作序列_C++
- 网易笔试题:回文序列
- 网易笔试题:回文序列
- 网易2018内推Java开发工程师笔试题----操作序列
- 网易校招笔试-序列逆序问题
- 网易笔试最长公共子括号序列
- 网易编程题--操作序列
- 网易编程题 操作序列
- 十一、网易2017<操作序列>
- 《校园招聘网易》之操作序列
- 网易内推笔试编程题-字符串子序列判断
- 网易2017校园招聘笔试题 回文序列
- 网易2017校园招聘笔试题:回文序列
- 网易2017校园招聘笔试题:回文序列
- 一道腾讯面试题(使用递归、循环、数组实现上台阶方法)
- Hive结构
- struct和typedef struct
- 多项目同时进行如何做好进度管理?
- 2017-8-16
- 网易笔试:操作序列
- 什么情况下必须使用C++的初始化列表
- 架构师养成之路(1)--- 58专家解读架构师之路:这些才是架构师成功的标配!
- Convolutional Pose Machines
- CodeForces839A Arya and Bran
- 爬取网站使用代理IP
- HDU6129 Just do it
- FlatList测试
- PinPoint使用教程