携程2021年校招笔试题[2021年10月21日19点-21点]
携程2021年校招笔试题[2021年10月21日19点-21点]
试题 2: 排队
时间限制: 3000MS 内存限制: 589824KB
【题目描述】
某办事处有n个窗口可以办理业务,窗口的编号为1到n。会有m个人陆续来办理业务,每个人办理业务所需的时间可能不同。假设每个人来的时候都会选择排队人数最少的窗口排队,如果人数最少的窗口有多个,那么将选择编号最小的进行排队。(如果有空窗口,那么也是选择编号最小的空窗口直接进行业务的办理)
现在告诉你每个人来办事处的时间点以及办理业务所需的时间,问这m个人中最后一个离开办事处的时间点是什么时候?保证每个人到达办事处的时间点都不同。
【输入描述】
第一行有两个正整数n,m,分别表示办事处有n个窗口,会有m个人来办理业务。
第二行有m个数,第i个数t[i]表示第i个人来到办事处的时间点。
第三行有m个数,第i个数c[i]表示第i个人办理业务所需要的时间。
数字间两两有空格隔开。
30%的数据保证n=1,m<=100,1<=t[i],c[i]<=100
60%的数据保证n<=10,m<=100,1<=t[i],c[i]<=200
100%的数据保证n<=100,m<=10000,1<=t[i],c[i]<=20000
【输出描述】
一行,一个整数,表示m个人中最后一个离开办事处的时间点。
【样例输入】
3 5
7 8 4 5 3
7 6 8 8 5
【样例输出】
21
【提示】
样例解释
按照时间点从小到大考虑:
最早来的是第5个人,在时刻3到来,选择了第1个窗口直接办理,需要时长5,将会在时刻8离开。
然后是第3个人,在时刻4到来,此时1窗口有1人,2、3窗口无人,因此选择第2个窗口直接办理,需要时常8,将会在时刻12离开。
接着第4个人在时刻5到来,此时1、2窗口各有1人,3窗口无人,因此选择第3个窗口直接办理,需要时长8,将会在时刻13离开。
接着第1个人在时刻7到来,此时1、2、3窗口各有1人,因此选择第1个窗口排队,需要时长7,而窗口1的前一个人会在时刻8离开,因此他将在时刻8+7=15离开。
接着第2个人在时刻8到来,此时第5个人从窗口1离开了,此时1、2、3窗口各有1人,因此选择第1个窗口排队,需要时长6,该窗口前一个人将在时刻15离开,因此他将在时刻15+6=21离开。
因此最后一个人离开办事处的时间点是21。
我的思路是模拟,一个窗口就是一个队列。首先按照到来的时间进行排序,先到来的人在前面,然后从第一个人开始遍历,记录到来的时间,对所有的队列进行判断,更新到来时刻队列的状态(若队列第一个人走了,则用这个人走的时刻替换他后面一个人到来的时刻),然后选择人数最少的队列,将这个人加入到队列。
代码:Python(变量命名比较随意)
tem = input().split()
n = eval(tem[0])
m = eval(tem[1])
people = []
tem1 = input().split()
tem2 = input().split()
for i in range(m):people.append([eval(tem1[i]),eval(tem2[i])])
result = sorted(people)
queue_list = []
for i in range(n):queue_list.append([])
for item in result:starttime = item[0]for i in range(n):if(len(queue_list[i])==0):continuewhile (True):if ((queue_list[i][0][0] + queue_list[i][0][1]) <= starttime):tt = queue_list[i].pop(0)queue_list[i][0][0]= tt[0]+tt[1]else:breaktem_list = []for i in range(n):tem_list.append(len(queue_list[i]))queue_list[tem_list.index(min(tem_list))].append(item)
fin = 0
for i in range(n):tem = queue_list[i]tem_res = -1for item1 in tem:if(tem_res == -1):tem_res = item1[0]+item1[1]else:tem_res +=item1[1]fin = max(fin,tem_res)
print(fin)
携程2021年校招笔试题[2021年10月21日19点-21点]相关推荐
- 阿里巴巴2014校招笔试题-2013年9月14日
不得不吐槽,阿里真是太混乱了,北京的笔试在考场等了两个半小时,考卷都没运到考场,@阿里巴巴集团校园招聘 回应说:"北京的同学们,简单解释下,为了试卷的保密,印刷的时间都比较晚,结果出意外了. ...
- 携程2016研发工程师笔试题
携程2016研发工程师笔试题 2015/12/7 14:56(网上收集整理的,参考答案在后面,若有错误请大神指出) 1. 内存空间被分成不同区域,其中用函数 void*malloc(unsigned ...
- 2021年京东双11将于10月20日开启预售 将上线4亿件新品
2021年京东双11将于10月20日开启预售 将上线4亿件新品 在京东11.11全球热爱季启动会上,京东方面宣布正式启动双十一活动.据介绍,京东双十一将在10月20日晚8点正式开启预售,10月31日晚 ...
- linux系统运维核心笔试题-2020年9月1日最新
前言 本套面试题是学员在面试的过程中通过面试复盘的方式获取到的最新笔试题. 且看且珍惜,切勿外传. 原题 查询file.txt 以abc结尾的行 [root@ecs-c13b ~]# grep abc ...
- 大虎2021软件校招笔试题
1. 说明:trip[i][1]为上车点的人数,trip[i][2]为下车点的人数 #include <iostream> #include <vector> using na ...
- bilibili校招算法笔试题 (2019年8月20日
第一题 把数字翻译成字符串 leetcode 91题原题,动态规划 从1开始表示字母,这会导致0无法单独存在表示为一个字符,前面必须要是1或者2. 范围为'1' ~ '26' 如果当前位为0: 如果前 ...
- 概率速度2013年阿里巴巴暑期实习生笔试题--2013年5月5日考试
题记:写这篇博客要主是加深自己对概率速度的意识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 昨天来本想去加入北大的口试,结果去了说不给霸笔,尼玛,好吧,哥又乖乖的回来了,在现有网上有 ...
- 每天一道笔试题-2012年2月17日
题目一: 求解该逻辑推理题,同时提炼出该题对应的算法思想,以及该算法思想在算法设计程序设计中的应用. 有7g.2g砝码各一个,天平一只,如何只用这些物品3次将140g的食盐分为50g,90g各一份. ...
- 每天一道笔试题-2012年2月16日
题目一:解释下面C表达式的意思: (*(void(*)())0)(); 出处:<C语言陷阱与缺陷>第二章. 转载于:https://www. ...
- 360笔试题2019年4月24日(彩球分篮子问题 )
小明家有一些彩球,一段时间后小明玩耍时将它们无序的散落在家中.一天,小明想对其进行整理, 规则为一个篮子中只放一种颜色彩球,可有多个篮子放同一颜色的球,每个篮子里的球不少于2个. 假设小明整理好后,能 ...
最新文章
- 经典C语言程序100例之五六
- QT中使用OpenGL绘制图形
- PCA、SVD、ZCA白化理论与实现
- 3.1 读入一个参数
- QT安装后编译错误怎么办?
- 原生js获取cookie
- java走梅花桩_PGIS周中赛:梅花桩4队混战 PERO17杀饮恨 STK拿下本局
- 【成神之路】Redis相关面试题
- 网页中插入FLASH的三种方法
- 世界上最著名也最危险的APT恶意软件清单
- 出现这些情况,裸辞不是找虐,是解脱!
- 启用tls的情况下openvpn配置文件合并到ovpn文件
- STC89C52单片机串口通信以及代码演示
- 【转】名企HR教你如何过网申
- java 罗马数字_JAVA,罗马数字与阿拉伯数字的互转
- 苹果手机click事件失效
- COMFORT 尊驾 | 内外兼修 全面进化
- Python学习,类空间问题及类之间的关系
- 信息学奥赛一本通 1198:波兰表达式 | OpenJudge NOI 2.2 1696:波兰表达式
- FreeEIM 2.9 官方简体中文版发布
热门文章
- Python TimedRotatingFileHandler 修改suffix后无法自动删除文件
- IBUS-WARNING **: 09:23:08.407: The owner of /home/cl/.config/ibus/bus is not root!
- docker安装php拓展
- 1、什么是公众号appid?
- 中专计算机英语听课记录,【听课记录15篇及评析】_英语听课记录及评析_英语听课记录及评析范文5篇...
- windows无法连接到某个wifi_笔记本电脑连接wifi时一直显示“windows无法连接到。。(wifi)”是怎么回事...
- 【luogu3403】跳楼机 [同余最短路]
- mysql主从同步创建表不同步_MySQL新增数据库到主从同步列表 - 如何增加数据库到MySQL主从 - MySQL主从不同步解决办法...
- sklearn实现葡萄酒分类数据集训练朴素贝叶斯算法
- 2021年11月 | openGauss走进高校活动系列回顾