奇安信 笔试

我以为能同时做完奇安信和欢聚时代的,没想到题目这么多,奇安信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

相关推荐

2025-12-27 22:46
门头沟学院 Java
点赞 评论 收藏
分享
2025-12-30 14:09
已编辑
北京交通大学 算法工程师
字节跳动 训练框架研发 (N+2) * (12 + 3) 硕士211
Crinton:训练框架遥遥领先
点赞 评论 收藏
分享
2025-12-22 15:04
江西农业大学 Web前端
SaviorSu:直接说下学期可以请假,一般情况学校允许我26届,大三就直接去实习了
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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