网易16年春季实习生招聘的一道算法题
2016-03-30 15:57
344 查看
参加了2016网易实习生的笔试,很遗憾没有通过,可能自己的知识面不够广,有道算法题的解法总结下吧。
题目如下:
小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。
给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号。最后给定之前的比较次数n。请返回这两颗钻石的关系,若g1更重返回1,g2更重返回-1,无法判断返回0。输入数据保证合法,不会有矛盾情况出现。
测试样例:
花了二十分钟,写下了如下代码,测试过了,能够AC。
题目并不难,稍微思考下就可以了,希望能够帮到学弟学妹们!
题目如下:
小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。
给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号。最后给定之前的比较次数n。请返回这两颗钻石的关系,若g1更重返回1,g2更重返回-1,无法判断返回0。输入数据保证合法,不会有矛盾情况出现。
测试样例:
2,3,[[1,2],[2,4],[1,3],[4,3]],4
返回: 1
花了二十分钟,写下了如下代码,测试过了,能够AC。
<pre name="code" class="cpp">#include <iostream> #include <vector> const int MAXN = 100; using namespace std; int cmp(int g1, int g2, int m[MAXN][MAXN]) { if (m[g1][g2] == 1) { cout << "1" << endl; } else if (m[g1][g2] == 0) { cout << "-1" << endl; } return 0; } int main(void) { vector<vector<int>> records = { { 1, 2 }, { 2, 4 }, { 1,3 },{ 4, 3 } }; int m[MAXN][MAXN] = { 0 }; for (int i(0); i < records.size(); i++) { m[records[i][0]][records[i][1]] = 1; } int tmp[1][1] = {0}; for (int i(0); i < records.size(); i++) { for (int j = 0; j < records.size(); j++) { if (records[i][1] == records[j][0]) { m[records[i][0]][records[j][1]] = 1; tmp[0][0] = records[i][0]; tmp[0][1] = records[j][1]; j = 0; break; } } for (int j = 0; j < records.size(); j++) { if (tmp[0][1] == records[j][0]) { m[records[i][0]][records[j][1]] = 1; tmp[0][0] = records[i][0]; tmp[0][1] = records[j][1]; j = 0; } } } cmp(2, 3, m); return 0; }
题目并不难,稍微思考下就可以了,希望能够帮到学弟学妹们!
相关文章推荐
- 网易云音乐8亿用户背后的伤疤
- DevOps 应聘者应该准备回答的 20 个问题
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 用于提取网易文件的hta代码
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总