小编Vec*_*eka的帖子

加油站动态规划

您和您的朋友正开车前往蒂华纳度春假。您正在为旅行省钱,因此您希望尽量减少途中的汽油费用。为了最大限度地减少您的天然气成本,您和您的朋友整理了以下信息。首先,您的汽车可以通过一箱油可靠地行驶 m 英里(但不能再远)。您的一位朋友从网上挖掘了加油站数据,并绘制了您路线上的每个加油站以及该加油站的汽油价格。具体来说,他们创建了一个从最近到最远的 n+1 个加油站价格列表以及两个相邻加油站之间的 n 个距离的列表。塔科马是 0 号加油站,蒂华纳是 n 号加油站。为了方便起见,他们将汽油成本转换为汽车行驶每英里的价格。此外,还计算了两个相邻加油站之间的英里距离。您将在加满油的情况下开始您的旅程,当您到达蒂华纳时,您将\xef\xac\x81ll 准备回程。您需要确定在哪些加油站停车,以最大限度地减少旅途中的汽油成本。

\n\n

输入示例:

\n\n

价格(每英里美分)\n[12,14,21,14,17,22,11,16,17,12,30,25,27,24,22,15,24,23,15,21]

\n\n

距离(英里)\n[31,42,31,33,12,34,55,25,34,64,24,13,52,33,23,64,43,25,15]

\n\n

您的汽车加一箱油可以行驶 170 英里。

\n\n

我的输出:

\n\n

此次旅行的最低费用为: $117.35

\n\n

加油站停靠:[1, 6, 9, 13, 17, 19]

\n\n

我已经解决了这个问题,但我不确定我是否以正确的方式完成了它。如果错误的话,有人可以给我一些建议或指出正确的方向吗?先感谢您。

\n\n
public class GasStation {\n\n/** An array of gas prices.*/\nprivate int[] myPrice;\n/** An array of distance between two adjacent gas station.*/\nprivate int[] myDistance;\n/** Car's tank capacity.*/\nprivate int myCapacity;\n/** List of gas stations to stop at to minimize the cost.*/\nprivate List<Integer> myGasStations;\n\n\n/**\n * A constructor …
Run Code Online (Sandbox Code Playgroud)

java dynamic-programming

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

dynamic-programming ×1

java ×1