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

来源:互联网 发布:php cli模式 编辑:程序博客网 时间:2024/05/19 06:36


链接:https://www.nowcoder.com/questionTerminal/b53bda356a494154b6411d80380295f5
来源:牛客网

[编程题]操作序列
  • 热度指数:3175时间限制:2秒空间限制:32768K
  • 算法知识视频讲解
小易有一个长度为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

输入

41 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[n];        // 读取数组        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] + " ");        }    }}


原创粉丝点击