新鲜出炉-网易内推编程题目之操作序列
来源:互联网 发布:微信怎么发淘宝联盟 编辑:程序博客网 时间:2024/05/19 04:26
2018年网易校招内推编程题目,博主刚刚在线答完,废话少说,文归正传。
题目描述:小易有一个长度为n的整数序列,a_1,.....,a_n。然后考虑在一个空序列b上进行n次以下操作:
1、将a_i放入b序列的末尾
2、逆置b序列
小易需要你计算输出操作n次之后的b序列。
输入描述:
输入包括两行,第一行包括一个整数n(2<=n<=2*10^5),即序列的长度。
第二行包括n个整数a_1(1<=a_i<=10^9),即序列a中的每个整数,以空格分割。
输出描述:
在一行中输出操作n次之后的b序列,以空格分割,行末无空格。
示例1
输入:
4
1 2 3 4
输出:
4 2 1 3
解题思维过程:
(1)解答网易的编程题,读懂题目几乎就成功了一大半。所以,在草稿纸上动手画一遍示例的详细过程后,你就能发现以下规律:
①将数放入序列b分两种情况:第i次放入b序列的i为奇数,将a_i放入b序列的末尾;当i为偶数时,将a_i放入b序列的头部;
②输出b序列时,也要分两种情况:当n为奇数时,从序列b的头部开始到尾部依次输出;当n为偶数时,从序列b的尾部开始到头部依次输出
(2)确定存储序列b的数据结构。如果你对STL(标准模板库)的各个容器比较熟悉,马上就可以想到list容器或者deque容器。
(3)解决序列b输出时行末无空格。顺便提一句:由于博主对迭代器不熟悉,在这导致卡了半个小时呀!各位看代码时,格外注意一下解决方法。
下面贴出博主的C++代码:
// ManipulateSequence.cpp : 定义控制台应用程序的入口点。//网易编程题之操作序列#include "stdafx.h"#include<iostream>#include<list>using namespace std;void PrintInverseSequence(int arr[],int n)//打印逆序列b{list<int> sequenceb;for(int i=1;i<=n;i++){if(i%2==1)//奇数从链表头插入sequenceb.push_front(arr[i-1]);else//偶数从链表尾插入sequenceb.push_back(arr[i-1]);}if(n%2==1)//奇数从链表头开始遍历{int n1=sequenceb.back();//取出链表最后一个数据sequenceb.pop_back();list<int>::iterator it1=sequenceb.begin();for(;it1!=sequenceb.end();++it1) cout<<*it1<<" ";cout<<n1;}else//偶数从链表尾开始遍历{int n2=sequenceb.front();//取出链表最前一个数据sequenceb.pop_front();list<int>::reverse_iterator it2=sequenceb.rbegin();for(;it2!=sequenceb.rend();++it2) cout<<*it2<<" ";cout<<n2; }}int _tmain(int argc, _TCHAR* argv[]){int n; cin>>n; int*arr=new int[n]; for(int i=0;i<n;i++) cin>>arr[i]; PrintInverseSequence(arr,n); delete [] arr;return 0;}
阅读全文
0 0
- 新鲜出炉-网易内推编程题目之操作序列
- 网易2017内推 [编程题]操作序列@Java
- 网易2018内推编程题——操作序列
- 2018网易内推笔试-操作序列(python)
- 网易2018内推笔试题_操作序列_C++
- 网易内推笔试编程题-字符串子序列判断
- 网易有道2017内推编程题 队列操作(映射)
- 网易内推编程题
- 网易2017内推C++笔试题目
- 网易2017内推笔试题目
- 下厨房(网易内推题目)
- 网易内推笔试算法题目(1)
- 网易内推题目第二波
- 网易2018内推Java开发工程师笔试题----操作序列
- 网易有道2017内推编程题
- 网易有道2017内推编程题
- [网易内推编程题] 合唱团
- [网易内推编程题] 地牢逃脱
- 阿牛的EOF牛肉串
- 02 权限(用户组以及文件的权限)(特殊权限位)
- 移动端h5轮播插件swipe
- C++ string append()添加文本
- NDCG及其实现
- 新鲜出炉-网易内推编程题目之操作序列
- UVA-1627
- markdown语法
- ACM常用技巧之尺取法--POJ3061/3320/2739/2100
- Python:打开文件读取每一行(使用with as)
- js/css特效
- equals()和hashCode()区别?
- 整合struts和spring框架
- maven项目pom.xml第一行报错