新凯来笔试(十分有意思!)

笔试只有三道编程题,没有选择填空,三道题给2小时做
第一道,求区间不重复时的最大的资源利用率,存在多个三元素数组[1,3,2],[2,4,3],[3,5,4],其中[1,3,2]就表示区间[1,3)的资源利用为2,[2,4,3]就表示[2,4)的资源利用为3,那此时最大的资源利用率就是选[1,3)和[3,5)区间,区间不可以重复,最高利用率为(2+4)/(2+3+4)=0.6667
ps:小题外话,这个题类似的有一个特殊情况,就是找不重复的最多课程数,就是给一些区间[1,3][2,4][3,5],其中[1,3]表示1点到3点的课,[2,4]表示2点到4点的课,此时要求在时间不冲突的情况下,尽可能多的选课,那这里就是找[1,3][3,5]这两个时间点的课,最多的课就是return 2;

第二道,求一批任务执行的最小时间,输入格式如下:
3
1 2 3
2
1 3
2 3
第一个数字3表示有三个任务
第二行表示每个任务的执行时间,比如第一个任务执行时间就是1,第二个任务就是2,第三个任务就是3
第三行的2,表示有2个关联关系
之后会给2个关联关系
比如下面的1 3就表示做第3任务之前需要先做第1任务,
2 3表示做第3任务之前要做第2任务。

最后计算总执行时间,因为这里做第3任务前需要先做1和2,所以1和2可以一起做,做完就做第3任务,所以总执行时间就是max(1,2) + 3 = 2 + 3 = 5。
如果出现1->2->3->1这种任务循环依赖的情况,就返回-1
题目好杂交!约等于要先判断是否有环,之后再使用拓扑排序计算执行时间。

第三道,求第一个没重复的字符的下标,比如"shenzhensicarrier"第一个没有出现重复的字符是'z'字符,对应下标就是4,如果是"shenshen"没有不重复的字符,就返回-1
全部评论
这家慎重一点
2 回复 分享
发布于 昨天 15:51 江苏

相关推荐

评论
点赞
收藏
分享

创作者周榜

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