网易编程题------操作序列

题目描述

小易有一个长度为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
输出
4 2 1 3


// 同一种思想,不同的实现。
// 实现方法1----实现方法2更容易理解
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;
public class   OperationSequence  {
   public static void main(String[] args) throws IOException{
      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
      int n = Integer.parseInt(reader.readLine());
      int[] data = new int[n];
      String[] dataString = reader.readLine().split(" ");
      int j=0;
      int i=n-1;
      while(i>=1)  {
        data[j++] = Integer.parseInt(dataString[i]);
        i=i-2;
      }
      if( i==0 ){
         i=1;
         while(i<=n-2)  {
           data[j++] = Integer.parseInt(dataString[i]);
           i=i+2;
         }
      }
      else  {
         i=0;
         while(i<=n-2)  {
           data[j++] = Integer.parseInt(dataString[i]);
           i=i+2;
         }
      }
      
   }
}
// 实现方法2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main  {
       public static void main(String[] args) throws IOException{
          BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
          int n = Integer.parseInt(reader.readLine());
          String[] dataString = reader.readLine().split(" ");
          int[] dataindex = new int[n];
          int j=0;
          for(int i=n-1;i>=0;i=i-2)  {
              dataindex[j++]=i;
          }
          j=n-1;
          for(int i=n-2;i>0;i=i-2) {
             dataindex[j--]=i; 
          }
          StringBuffer buffer=new StringBuffer("");
          for(int z=0;z<n;z++)  {
              if(z!=0)  buffer.append(" ");
              buffer.append(dataString[dataindex[z]]);
          }
          System.out.println(buffer.toString());
       }
}
        

 

posted @ 2019-04-16 18:18  坦荡的火星  阅读(270)  评论(0编辑  收藏  举报