打车调度题,大家帮忙分析下

2021-04-24 07:58:06 +08:00
 bolice

准备跳去某厂,做了个某厂在线笔试题,结果打车调度题测试不通过。

题干如下

输入四组数据: 各司机距离乘客距离 Ln 米、堵车路段长度 Cn 米、红绿灯个数 Ln 、司机评级 Pn 。要求计算出用时最短司机、评级最高的派送给乘客。

输出数据:司机序号,总耗时

堵车路段 2m/s 通畅路段 10m/s 红绿灯概率 50% 每个红绿灯用时 30s

1536 次点击
所在节点    算法
7 条回复
bolice
2021-04-24 08:01:47 +08:00
我的做法是先算出前三项耗时,+10 减去评级值。求得最小的派给乘客。评级 1-10 10 最优
Ariver
2021-04-24 09:29:49 +08:00
@bolice 按你的计算最后评级变成了 1-10s 的影响我觉得肯定是有问题的。
评级应该是一个系数作用于前三项的时间
binux
2021-04-24 10:03:08 +08:00
这不就是个模拟题吗?
输出里面又没有用到评级,把前三个数据算一下不就完了。
opengps
2021-04-24 12:59:55 +08:00
“距离乘客距离 Ln 米”、“红绿灯个数 Ln” ,这俩都是 Ln,出题是认真的不?
opengps
2021-04-24 13:59:27 +08:00
重新看了下题目:
隐藏了一个算法,首次计算时候,是基于叫车人的位置,取周围某个范围半径内车辆集合
总时间( s ):Cn*2+ (Ln 米-Cn)*10+红灯 Ln/2*30
至于评级,应该从时间的前多少个中取一个最高
iOCZ
2021-04-24 20:20:20 +08:00
@opengps 如果延迟太大,评级高也不能优先,应该有个系数。
opengps
2021-04-24 22:33:13 +08:00
@iOCZ 回答问题时候我想过这个我问题,所以我想到了隐含的条件:已经是就近某个距离范围内的所有空闲司机了。所以这个时候其实也可以接受。比如说舍弃后一半时间慢的,从前一半里取一个最高评分的司机

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/772861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX