【WEB】网易2017年前端工程师实习生招聘笔试编程题总结
来源:互联网 发布:手机身份证ocr识别软件 编辑:程序博客网 时间:2024/05/06 03:16
1.消除重复元素
小易有一个长度为n序列,小易想移除掉里面的重复元素,但是小易想是对于每种元素保留最后出现的那个。小易遇到了困难,希望你来帮助他。
输入描述:
输入包括两行: 第一行为序列长度n(1 ≤ n ≤ 50) 第二行为n个数sequence[i](1 ≤ sequence[i] ≤
1000),以空格分隔输出描述:
输出消除重复元素之后的序列,以空格分隔,行末无空格输入例子: 9 100 100 100 99 99 99 100 100 100
输出例子: 99 100
分析
根据题意模拟一下就行
参考code
#include <bits/stdc++.h>using namespace std;int n;int a[105];map<int,int> m;vector<int> ret;int main(){ cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++) m[a[i]]++; for(int i = 0; i < n; i++){ m[a[i]]--; if(!m[a[i]])//遍历到最后一个数字 ret.push_back(a[i]);//尾部插入数字 } int len = ret.size(); for(int i = 0; i < len; i++){ if(i == len - 1) printf("%d\n",ret[i]); else printf("%d ",ret[i]); } return 0;}
2.集合
小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性. 小易的老师给了小易这样一个集合: S = { p/q | w ≤ p ≤ x, y ≤ q ≤ z }
需要根据给定的w,x,y,z,求出集合中一共有多少个元素。小易才学习了集合还解决不了这个复杂的问题,需要你来帮助他。输入描述:
输入包括一行: 一共4个整数分别是w(1 ≤ w ≤ x),x(1 ≤ x ≤ 100),y(1 ≤ y ≤ z),z(1 ≤
z ≤ 100).以空格分隔输出描述: 输出集合中元素的个数
输入例子: 1 10 1 1
输出例子: 10
分析
枚举所有值组成的pair,约分之后丢进set去重即可。
参考code
#include <bits/stdc++.h>using namespace std;int w, x, y, z;set<pair<int, int> > S;int main(){ cin >> w >> x >> y >> z; for(int i = w; i <= x; i++) { for(int j = y; j <= z; j++) { int ii = i, jj = j; int di = __gcd(i, j);//求最大公约数 ii /= di; jj /= di; S.insert(make_pair(ii, jj)); } } cout << S.size() << endl; return 0;}
3.奇怪的表达式求值
常规的表达式求值,我们都会根据计算的优先级来计算。比如/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 )。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少 ?
输入描述: 输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9. 保证表达式都是合法的,排列规则如样例所示。
输出描述: 输出一个数,即表达式的值
输入例子: 3+5*7
输出例子: 56
奇怪的表达式求值
分析
直接模拟过去就完了。
参考code
#include <bits/stdc++.h>using namespace std;string s;int main(){ cin >> s; int ans = s[0] - '0'; for(int i = 1; i < (int)(s.size() - 1); i+=2){ if(s[i] == '*') ans = ans * (s[i + 1] - '0'); else if(s[i] == '+') ans = ans + (s[i + 1] - '0'); else { ans = ans - (s[i + 1] - '0'); } } cout << ans << endl;}
参考网址:
https://www.nowcoder.com/question/next?pid=4575457&qid=83063&tid=7717253
http://m.nowcoder.com/discuss/22696?type=0&order=0&pos=5&page=1&from=singlemessage&isappinstalled=0
- 【WEB】网易2017年前端工程师实习生招聘笔试编程题总结
- 网易2017实习生招聘笔试题 C++开发工程师
- 网易2016机器翻译实习生招聘笔试编程题
- 网易2017实习生招聘笔试题编程题参考思路和代码
- 2017腾讯实习生招聘笔试编程题
- 网易考拉2017暑假实习生招聘笔试题(网络问题)
- 2013网易实习生招聘笔试题
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(神奇的数)
- 阿里巴巴2017实习生招聘笔试题(算法工程师)
- 2017阿里研发工程师C/C++实习生招聘笔试题
- 2017网易游戏测试工程师-实习招聘在线笔试题
- 京东2017实习生招聘——在线笔试编程题总结
- 名企笔试:网易游戏雷火盘古2017实习生招聘笔试题(字符串编码)
- 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
- 网易2017实习生笔试编程题-魔力手环
- 网易实习生笔试编程题 二叉树
- 网易实习生笔试编程题 比较重量
- 数字三角形
- maven打包根据指定参数,自定义war包名称
- JDK自带的观察者模式
- ElasticSearch2.x版本各插件安装方法
- 为sublime text添加浏览器预览功能
- 【WEB】网易2017年前端工程师实习生招聘笔试编程题总结
- 287. Find the Duplicate Number
- Gym
- JDBC常见面试题集锦(一)
- JDBC常见面试题集锦(二)
- Java操作PDF之iText详细入门
- Rsync添加进程锁,防止重复进程
- 浏览器 WebBrowser 直接从内存数据显示图片而不是链接一个外部文件
- Spring MVC处理JSON数据(2)