zoukankan      html  css  js  c++  java
  • 网易内推(操作序列)

    小易有一个长度为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

    方法一:(只通过50%case) 原因:暴力求解复杂度太高
    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    void print(vector<int>b)
    {
        for(int i=0; i<b.size();i++)
        {
            cout<<b[i]<<" ";
        }
        cout<<endl;
    }
    int main()
    {
        int N;
        cin>>N;
        vector<int>b;
        int x;
        while(N--)
        {
            cin>>x;
            b.push_back(x);
            reverse(b.begin(),b.end());
            if(N==0)
            print(b);
        }
        return 0;
    }

     方法二:

    观察排列的情况可以得出结论:

    如果n是奇数,则先倒序输出奇数(n,n-2,...,1)然后是升序的偶数(2,4,...,n-1);

    如果n是偶数,则先倒序输出偶数(n,n-2,...,2)然后是升序的奇数(1,3,....,n-1)

    #include<iostream>
    #include<vector>
    #include<algorithm>
    const int maxn=2e5;
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        int a[maxn];
        for(int i=1;i<=n;i++)//注意数组的初始化
        {
            int x;
            cin>>x;
            a[i]=x;
        }
        if(n%2)
        {
            for(int i=n;i>=1;i-=2)  cout<<a[i]<<" ";
            for(int i=2;i<=n;i+=2)
                i==n-1?cout<<a[i]:cout<<a[i]<<" ";
        }
        else
        {
            for(int i=n;i>=1;i-=2) cout<<a[i]<<" ";
            for(int i=1;i<=n;i+=2)
                i==n-1?cout<<a[i]:cout<<a[i]<<" ";
        }
        return 0;
    }
  • 相关阅读:
    informix数据库的日志
    javaScript之BOM操作2
    javaScript之BOM操作1
    开发必会系列:hibernate事务
    性能测试系列:Oracle数据库awr报告使用与分析
    《股票大作手回忆录》读书笔记
    金融知识学习综合笔记
    开发必会系列:《深入理解JVM(第二版)》读书笔记
    基础教材系列:计算机底层知识点积累
    基础教材系列:数据结构与算法——慕课网笔记
  • 原文地址:https://www.cnblogs.com/wft1990/p/7418030.html
Copyright © 2011-2022 走看看