您的位置:首页 > 编程语言 > Java开发

网易2017内推 [编程题]操作序列@Java

2017-08-13 11:11 302 查看
链接:https://www.nowcoder.com/questionTerminal/b53bda356a494154b6411d80380295f5

来源:牛客网

[编程题]操作序列

热度指数:3175时间限制:2秒空间限制:32768K
算法知识视频讲解

小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:

1、将a_i放入b序列的末尾

2、逆置b序列

小易需要你计算输出操作n次之后的b序列。
[b]输入描述:[/b]
输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度。
第二行包括n个整数a_i(1 ≤ a_i ≤ 10^9),即序列a中的每个整数,以空格分割。


[b]输出描述:[/b]
在一行中输出操作n次之后的b序列,以空格分割,行末无空格。


示例1

输入

4
1 2 3 4


输出

4 2 1 3


import java.util.*;
public class Main {
//123 输出213 1234输出3124 12345输出42135
//规律是 先数倒数第n-2,n-4......(0或者1) 再输出i(0或者1),i+2......
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int arr[] = new int
;
        // 读取数组
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        
        for (int i = n - 1; i >= 0; i -= 2) {
            System.out.print(arr[i] + " ");
        }
        for (int i = n % 2; i < n; i += 2) {
            if (i == n - 2)
                System.out.print(arr[i]);
            else
                System.out.print(arr[i] + " ");
        }
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: