📜  谷歌面试经历 |第 5 组(用于Java位置)

📅  最后修改于: 2022-05-13 01:58:25.572000             🧑  作者: Mango

谷歌面试经历 |第 5 组(用于Java位置)

解决方案将根据以下参数进行评估。
解决方案的面向对象设计方面。
整体编码实践。
解决方案的工作测试用例。

您可以使用 Ant/Maven 作为解决方案、Junit、Mockito 或其他测试框架的构建工具。
您还可以在代码中包含对您的设计和假设的简要说明。

问题陈述:在一级方程式挑战赛中,有 n 支队伍,编号从 1 到 n。每个团队都有一辆汽车和一名司机。汽车规格如下:
– 最高速度:(150 + 10 * i)公里每小时
– 加速度:(2 * i) 米每秒平方。
– 处理系数 (hf) = 0.8
– Nitro:将速度提高到两倍或最高速度,以较低者为准。只能使用一次。

这里 i 是团队编号。
赛车排队参加比赛。第 (i + 1) 辆汽车的起点线在第 i 辆汽车后面 200 * i 米处。

他们都同时开始,并试图达到他们的最高速度。每 2 秒重新评估一次位置(因此,即使汽车在其间越过终点线,您也会在 2 秒后知道)。在这个评估过程中,每个司机检查他的车10米范围内是否有车,他的速度降低到:hf *(当时的速度)。此外,如果车手注意到他是比赛中的最后一名,他会使用“nitro”。

以队伍数量和赛道长度为输入,计算最终速度和对应的完成时间。

谷歌的所有练习题!