奇安信 笔试

我以为能同时做完奇安信和欢聚时代的,没想到题目这么多,奇安信71 75.感觉凉了,不知道欢聚咋样。。。。。。。。我是大数据开发方向的,第一题是共同祖先,第二题是病毒#奇安信#
全部评论
进入笔试的时候明明选择的是,服务端开发工程师岗(Python),结果第二题编程语言只有Java/C/C++...我的天
点赞 回复 分享
发布于 2019-09-09 20:35
奇信安第二题不是反序列化二叉树➕最低公共祖先吗,一直内存超限,心累
点赞 回复 分享
发布于 2019-09-09 20:32
#include <stdio.h> #include <vector> #include <iostream> using namespace std; int quick_power(int a, int n) { int ret = 1; while(n) { if(n&1) ret = ret * a; a = a * a; n >>= 1; } return ret; } vector<int> tree; int find(int idx1, int idx2) { if(idx1 == idx2) { return idx1; } else if(idx1 > idx2) { return find(idx2, idx1); } else//idx1 < idx2 { return find(idx1, (idx2 - 1) / 2); } } int main() { int n; cin >> n; int m = quick_power(2, n) - 1; tree.resize(m); for(int i = 0; i < m; ++i) { cin >> tree[i]; } int a, b; int idx1 = -1, idx2 = -1; cin >> a >> b; int ans = -1; if(a == -1 || b == -1) { ans = -1; } else { for(int i = 0; i < m; ++i) { if(a == tree[i]) idx1 = i; else if(b == tree[i]) idx2 = i; } if(a == b) idx2 = idx1; if(idx1 == -1 || idx2 == -1) { ans = -1; } else { int idx = find(idx1, idx2); ans = tree[idx]; } } /* cout << idx << endl; */ /* cout << tree[idx] << endl; */ cout << ans << endl; return 0; }
点赞 回复 分享
发布于 2019-09-09 20:42
72 100 第二题建个数组就行哎
点赞 回复 分享
发布于 2019-09-09 20:34
放弃奇安信了。。。
点赞 回复 分享
发布于 2019-09-09 20:30
第二题求代码
点赞 回复 分享
发布于 2019-09-09 20:30

相关推荐

12-27 22:28
门头沟学院 Java
点赞 评论 收藏
分享
11-03 14:57
西北大学 营销
Belltrix:其实就是每根转动一定的角度
点赞 评论 收藏
分享
11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务