滴滴安全工程师笔试题

滴滴真是傲娇,上次内推3道题目AC都没有面试。这次只做出来了一道题目。唉唉#滴滴#
全部评论
EXO ME? 上次安全的卷子是2道编程题吧 此外就是笔试题只是其中一个参考,简历也是筛选标准啊
点赞 回复 分享
发布于 2017-09-10 17:32
滴滴11号在武汉有宣讲会,有武大的小伙伴一起吗
点赞 回复 分享
发布于 2017-09-10 17:12
#include <cstring> #include <cstdio> #include <algorithm> const int MAXN = 110000; namespace trie { struct Node { int ch[2]; int id; } d[MAXN*35]; int tot = 0; inline int newNode () { memset(d+(++tot), 0, sizeof d[0]); return tot; } inline void insert(int val, int id) { //printf("ins:%d\n", val); int mask = 1<<29, u = 0, t; d[u].id = id; while(mask) { t = bool(val&mask); if(!d[u].ch[t]) d[d[u].ch[t] = newNode()].id = id; else d[d[u].ch[t]].id = id; u = d[u].ch[t]; mask >>= 1; } } inline int query(int val) { int mask = 1<<29, u = 0, t; while(mask) { t = !(bool(val&mask)); if(!d[u].ch[t]) u = d[u].ch[!t]; else u = d[u].ch[t]; mask >>= 1; } return d[u].id; } } inline int getInt() { int ret = 0; char ch; bool f = false; while((ch = getchar()) < '0' || ch > '9') f |= (ch == '-'); do{ret *= 10; ret += ch - '0';} while((ch = getchar()) >= '0' && ch <= '9'); return f ? -ret : ret; } int nums[MAXN]; int pref[MAXN]; int main() { int n; n = getInt(); for(int i = 1; i<=n; i++) nums[i] = getInt(); int ans = 0, l, r; for(int i = 1; i<=n; i++) pref[i] = pref[i-1]^nums[i]; trie :: insert(0, 0); r = 1; for(int i = 1; i<=n; i++) { int lp = trie :: query(pref[i]); //printf("p:%d q:%d\n", i, lp); if((pref[lp]^pref[i]) > ans) { ans = pref[lp]^pref[i]; l = lp; r = i; } trie :: insert(pref[i], i); } printf("%d %d %d\n", ans, l+1, r); }
点赞 回复 分享
发布于 2017-09-10 17:07
而且,另一道是题目直接没有看懂..
点赞 回复 分享
发布于 2017-09-10 17:07

相关推荐

下北泽:都是校友,还是同届,我就说直白点,不委婉了,我相信你应该也不是个玻璃心,首先你觉得一个双非的绩点写简历上有用吗?班长职务有用吗?ccf有用吗?企业会关心你高数满分与否吗?第二,第一个项目实在太烂,一眼就能看出是外卖,还是毫无包装的外卖,使用JWT来鉴权,把热点数据放进Redis这两个点居然还能写进简历里,说难听点这两个东西都是学个几十分钟,调用个API就能完成的事情,在双非一本的条件下,这种项目你觉得能拿出手吗,第二个项目你写的东西和你的求职方向有任何的匹配吗?第三,计设那一块毫无价值,如果想突出自己会前端,直接写入专业技能不行吗,最后,专业技能里像深入理解JVM底层原理这种你觉得这句话你自己真的能匹配吗?都是校友加上同届,我措辞直接,但希望能点出你的问题,想进大厂还得继续沉淀项目和学习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务