当前位置:首页>文档>今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条

今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条

  • 2026-03-06 14:04:47 2026-01-26 07:39:13

文档预览

今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条
今日头条2018校招算法方向_2025春招题库汇总_互联网题库-1_02互联网汇总_21、今日头条

文档信息

文档格式
pdf
文档大小
0.434 MB
文档页数
8 页
上传时间
2026-01-26 07:39:13

文档内容

本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 今日头条 2018 校招算法方向 -----本资料属www.wuyouqiuzhi.com及旗下天天向上求职工作室&职场精英工作室独家所有,仅限购买者个人使用,不得分 享/转赠/转卖;版权所有,盗版可耻 -----正版购买地址:官网www.wuyouqiuzhi.com及旗下淘宝店:天天向上求职工作室(唯一客服:galerjim)或职场精英工 作室(唯一客服:蔚蓝小小天使),或者下载移动端刷题软件(名称为:笔试通)亦可购买 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵 坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标 轴范围在[0, 1e9) 内) 如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。 #include using namespace std; struct Point { int x, y; }; Point points[500001]; int main() { int n; cin >> n; for (size_t i = 0; i < n; i++) { scanf("%d%d", &points[i].x, &points[i].y); } //按照y升序 x降序排列 sort(points, points + n, 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 [](Point & p1, Point & p2) { return p1.y == p2.y ? p1.x > p2.x : p1.y < p2.y; }); printf("%d %d\n", points[n - 1].x, points[n - 1].y); int maxx = points[n - 1].x; for (int i = n - 2; i >= 0; i--) { if (points[i].x > maxx) { printf("%d %d\n", points[i].x, points[i].y); maxx = points[i].x; } } return 0; } 给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个: 区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序 列 [6 2 1]则根据上述公式, 可得到所有可以选定各个区间的计算值: [6] = 6 * 6 = 36; [2] = 2 * 2 = 4; [1] = 1 * 1 = 1; [6,2] = 2 * 8 = 16; [2,1] = 1 * 3 = 3; [6, 2, 1] = 1 * 9 = 9; 从上述计算可见选定区间 [6] ,计算值为 36, 则程序输出为 36。 区间内的所有数字都在[0, 100]的范围内; 1 完美AC。以第i个元素为最小值分别向两边扩大区间至最大,算出该元素与区间内所有数的和的 2 乘积f(i),遍历所有元素,更新f(i)即可。 #include using namespace std; int main() { int n; while(cin>>n) { int x[n]; for (int i=0; i>x[i]; 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 int max=0; for (int i=0; i=0) { sum1+=x[k]; k--; } int temp=sum1; if (x[i]*temp>max) max=x[i]*temp; } cout << max << endl; } return 0; } 产品经理(PM)有很多好的idea,而这些idea需要程序员实现。现在有N个PM,在某个时间会想出一个 idea, 每个 idea 有提出时间、所需时间和优先等级。对于一个PM来说,最想实现的idea首先考虑优先等级高的, 相同的情况下优先所需时间最小的,还相同的情况下选择最早想出的,没有 PM 会在同一时刻提出两个 idea。 同时有M个程序员,每个程序员空闲的时候就会查看每个PM尚未执行并且最想完成的一个idea,然后从中挑 选出所需时间最小的一个idea独立实现,如果所需时间相同则选择PM序号最小的。直到完成了idea才会重 复上述操作。如果有多个同时处于空闲状态的程序员,那么他们会依次进行查看idea的操作。 求每个idea实现的时间。 输入第一行三个数N、M、P,分别表示有N个PM,M个程序员,P个idea。随后有P行,每行有4个数字, 分别是PM序号、提出时间、优先等级和所需时间。输出P行,分别表示每个idea实现的时间点。 #include using namespace std; typedef struct Idea { int id,raise,pri,cost; }Idea; int n,m,num; vector> pmIdea; 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 map finish; typedef struct Programmer { int time; Programmer() { time=0; } int done() { int index=-1; vector::iterator idea_search; for (int i=0; iraise<=time) break; } if (it==ideas.end()) continue; if (index==-1 || it->costcost) { idea_search = it; index = i; } } if (index!=-1) { time += idea_search->cost; finish[idea_search->id] = time; pmIdea.at(index).erase(idea_search); return 1; } else time++; return 0; } }Programmer; bool cmp1(Idea a, Idea b) { if (a.pri!=b.pri) { return a.pri>b.pri; } else if (a.pri==b.pri && a.cost!=b.cost) { return a.cost pro(m); while (num>0) { sort(pro.begin(), pro.end(), cmp2); num -= pro.begin()->done(); } for (auto it=finish.begin(); it!=finish.end(); ++it) { printf("%d\n", it->second); } return 0; } 给定一棵树的根节点, 在已知该树最大深度的情况下, 求节点数最多的那一层并返回具体的层数。 如果最后答案有多层, 输出最浅的那一层,树的深度不会超过100000。实现代码如下,请指出代码中的多处错 误: struct Node { vector sons; }; void dfsFind(Node *node, int dep, int counter[]) { counter[dep]++; for(int i = 0; i < node.sons.size(); i++) { dfsFind(node.sons[i], dep, counter); } } 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 int find(Node *root, int maxDep) { int depCounter[100000]; dfsFind(root, 0, depCounter); int max, maxDep; for (int i = 1; i <= maxDep; i++) { if (depCounter[i] > max) { max = depCounter[i]; maxDep = i; } } return maxDep; } 链 接 : 来源: https://www.nowcoder.com/questionTerminal/6d7fa68eacaf486994cf8b9979754c37 牛客网 struct Node { vector sons; }; void dfsFind(Node *node, int dep, int counter[]) { if(node == NULL) return; //如果node为NULL counter[dep++]++; //进行dep自增 for(int i = 0; i < node->sons.size(); i++) { // node是指针 dfsFind(node->sons[i], dep, counter); //同上 } } int find(Node *root, int maxDep) { if(root == NULL) return -1; //边界 int depCounter[100000]; 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使本资料属www.wuyouquizhi.com及旗下天天向上求职工作室&职场精英工作室所有仅限购买者个人使用,不得分享/转赠/转卖;版权所有,盗版可耻 memset(depCounter, 0, sizeof(depCounter)); //置零,必要??? dfsFind(root, 0, depCounter); int max=0, maxDeplevel=0; // 初值,修改maxDep for (int i = 0; i < maxDep; i++) { //小于号 if (depCounter[i] > max) { max = depCounter[i]; maxDeplevel = i; //对应修改 } } return maxDeplevel; //对应修改 } 早期短链接广泛应用于图片上传网站,通过缩短网址URL链接字数,达到减少代码字符串的目的。常见于网 店图片分类的使用,因有字符个数限制,采用短链接可以达到外链图片的目的。自微博盛行以来,在微博字数 有限的特色下,短链接也盛行于微博网站,以节省字数给博主发布更多文字的空间。 问题描述:设计一个短链生成和查询系统,需要提供以下两个功能: 1、提供长链转换短链的接口 2、点击短链能跳转到对应的长链 题目要求: 1、同一个长链生成同一个短链接,不要有多个短链指向同一个长链。 2、同一个短链只能指向某一个长链,短链生成后要固定不变,不能再指向其它长链。 3、给出系统架构,需要考虑高并发解决方案。 4、考虑存储和缓存方案 数据量预估: 1、预计长链接总量500亿 2、长链换短链请求量:10W qps 3、短链跳转请求量:100W qps 银行求职笔试面试-天天向上求职工作室,店址:https://51jobs.taobao.com/ 唯一旺旺客服:galerjim 证券保险大型国企求职笔试面试-职场精英工作室,店址:https://huntjob.taobao.com/ 唯一旺旺客服:蔚蓝小小天使