华为笔试题
文章平均质量分 68
努力努力再努力r
这个作者很懒,什么都没留下…
展开
-
华为2016校园招聘上机笔试题2扑克牌大小
这道题一开始我的想法是,读出一行,然后根据“-”的位置分成s1和s2.然后按照空格把每一张牌分开存在vector里然后比较。但是忒麻烦了,其实没必要,题目给的条件已经可以很简化了。首先发现,牌的种类恰好分别是1张,2张,3张,4张,5张。只要出现大小王,那么就输出大小王即可。所以这里不讨论2张中是大小王的情况。那么如果两个人的牌张数相同,那么说明是同一类型。如果张数不一样,说明不是同一类型不能原创 2017-12-08 20:35:54 · 359 阅读 · 0 评论 -
华为2016研发工程师编程题1删数
这道题我用的是创建循环链表的方法。注意链表的构建:struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};里面构造函数的这种写法一定牢记。可以把这一段专门记下来。#include using namespace std;struct ListN原创 2017-12-08 21:53:23 · 569 阅读 · 0 评论 -
华为2016研发工程师编程题2字符集合
这道题算是比较简单的。我的方法主要是用find函数查看当前结果集中是否有这个字符,没有的话就加进去。#include #include #include using namespace std;int main(){ string str; while(getline(cin, str)){ string s; for(auto原创 2017-12-08 21:55:58 · 1144 阅读 · 0 评论 -
华为2016研发工程师编程题3数独
这个题做了好几遍才写对……汗……太渣了。首先弄懂数独的规则:九个宫不能重复,同一行不能重复,同一列不能重复。这道题我的方法是回溯。递归传入的是整个矩阵,还有当前位置坐标i,j。然后1~9一个个试。填入这个位置之后就按照扫描顺序填下一个位置。#include #include using namespace std;bool isok(vector >& v, int原创 2017-12-10 12:50:09 · 576 阅读 · 0 评论 -
华为研发工程师编程题1汽水瓶
这道题一看到智力题三个字还紧张了一下,觉得自己智力不太够用。但是这个智力题还是蛮简单的。设定一个变量total表示每一轮手上的空汽水瓶总数。total/3是这一轮能换的汽水瓶数,加到结果res里。total%3是剩下的汽水瓶数。两者加起来就是新一轮的total。注意total == 2的时候,res+1返回。total == 1或者total == 0,直接返回res#include u原创 2017-12-11 20:02:00 · 381 阅读 · 0 评论 -
华为研发工程师编程题2明明的随机数
这道题就是给出一些数字,把他们排序输出,我直接用了set结构#include #include using namespace std;int main(){ int n; while(cin >> n){ set nums; int x; for(int i = 0; i < n; ++i){ c原创 2017-12-11 20:13:08 · 269 阅读 · 0 评论 -
华为研发工程师编程题3
这道题让把一个十六进制数转成十进制数。#include #include #include #include using namespace std;vector v = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};int main(){ string s原创 2017-12-11 20:18:10 · 314 阅读 · 0 评论 -
华为2016校园招聘上机笔试题1最高分是多少
#include #include #include using namespace std;int main(){ int n = 0, op = 0; while(cin >> n >> op) { vector grades; for(int i = 0; i < n; ++i) { int x;原创 2017-12-04 22:45:41 · 586 阅读 · 0 评论 -
华为2016校园招聘上机笔试题2简单错误记录
首先,我发现我过程中要比较文件名和行号的组合,不仅如此,还要记录这个组合出现的次数。所以果断采用结构体:struct Error{ string filename; string line; int count;};剩下的不难,就是要求多,细节多。首先读入一个case:while(cin >> name >> num)去掉name里的路径,只留下完整的文件名,原创 2017-12-07 21:02:07 · 496 阅读 · 0 评论