网易2017内推笔试题-逆置整数序列
来源:互联网 发布:淘宝网淘宝网淘宝网 编辑:程序博客网 时间:2024/05/16 20:29
1、小易有一个长度为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序列,以空格分割,行末无空格。
例:
输入:n = 4
1 2 3 4
输出:4 2 1 3
分析:这个题我当时笔的时候的思路就是,直接进行n次翻转,可以运行过去,但是测试用例过去了50%,没有完全通过。然后下来之后,自己想了想,这种题还是有明显的规律的。
1、当n为偶数时,翻转后的序列---》先为偶数递减排列,然后为奇数递增排列;
2、当n为奇数时,翻转后的序列---》先为奇数递减排列,然后为偶数递增排列;
代码实现:
int main(){int n;int i;cin >> n;int* arr = new int[n];for (i = 0; i < n; i++)cin >> arr[i];if (n % 2 == 0){for (i = n - 1; i>0; i = i - 2){cout << arr[i] << " ";}cout << arr[0];for (i = 2; i < n-1; i = i + 2){cout << " "<<arr[i];}}else{for (i = n - 1; i>0; i = i - 2){cout << arr[i] << " ";}cout << arr[0];for (i = 1; i < n - 1; i += 2){cout << " "<<arr[i];}}return 0;}
阅读全文
64 0
- 网易2017内推笔试题-逆置整数序列
- 2017网易内推笔试题
- 2017年网易内推笔试题
- 网易2017内推笔试题
- 【网易2017内推笔试编程题】
- 网易2017内推笔试题
- 网易2017内推笔试程序题
- 网易内推笔试编程题-字符串子序列判断
- 网易2018内推笔试题_操作序列_C++
- 网易内推笔试题
- 网易内推笔试题2017机器视觉算法工程师
- 2017网易有道内推笔试编程题1:洗牌
- 2017网易互联网内推笔试题(奖学金问题)
- 2017年网易互联网内推笔试题-数字游戏
- 2017年网易互联网内推笔试题-Fibonacci数列
- 2017网易内推笔试题---混合颜料
- 2017网易内推笔试题---幸运的袋子
- 2017网易内推笔试题---星际穿越
- 【Luogu P1090】合并果子
- Mycat之——程序指定分区分片
- 半导体
- Noip2014 Day2 T1 无线网络发射器选址(暴力)
- RelativeLayout实现叠加View的动画效果
- 网易2017内推笔试题-逆置整数序列
- Java动态代理机制详解
- 详细解析Java中抽象类和接口的区别
- 软考上午题难点5分钟攻克系列(五)
- 总线设备驱动框架1
- 一个生成矩形图,曲线图的图形分析类(需要GD库支持)
- C语言中的串口读写功能实现
- Android iptables的应用
- hdu6112今夕何夕(日期类)