mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-11 10:21:43 +08:00
31 lines
2.3 KiB
Markdown
31 lines
2.3 KiB
Markdown
<p>小明的电动车电量充满时可行驶距离为 <code>cnt</code>,每行驶 1 单位距离消耗 1 单位电量,且花费 1 单位时间。小明想选择电动车作为代步工具。地图上共有 N 个景点,景点编号为 0 ~ N-1。他将地图信息以 <code>[城市 A 编号,城市 B 编号,两城市间距离]</code> 格式整理在在二维数组 <code>paths</code>,表示城市 A、B 间存在双向通路。初始状态,电动车电量为 0。每个城市都设有充电桩,<code>charge[i]</code> 表示第 i 个城市每充 1 单位电量需要花费的单位时间。请返回小明最少需要花费多少单位时间从起点城市 <code>start</code> 抵达终点城市 <code>end</code>。</p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong><code>paths = [[1,3,3],[3,2,1],[2,1,3],[0,1,4],[3,0,5]], cnt = 6, start = 1, end = 0, charge = [2,10,4,1]</code>
|
||
<strong>输出:</strong><code>43</code>
|
||
<strong>解释:</strong>最佳路线为:1->3->0。 在城市 1 仅充 3 单位电至城市 3,然后在城市 3 充 5 单位电,行驶至城市 0。 充电用时共 3*10 + 5*1= 35 行驶用时 3 + 5 = 8,此时总用时最短 43。
|
||
</pre>
|
||
<img alt="image.png" src="https://pic.leetcode-cn.com/1616125304-mzVxIV-image.png" />
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong><code>paths = [[0,4,2],[4,3,5],[3,0,5],[0,1,5],[3,2,4],[1,2,8]], cnt = 8, start = 0, end = 2, charge = [4,1,1,3,2]</code>
|
||
<strong>输出:</strong><code>38</code>
|
||
<strong>解释:</strong>最佳路线为:0->4->3->2。 城市 0 充电 2 单位,行驶至城市 4 充电 8 单位,行驶至城市 3 充电 1 单位,最终行驶至城市 2。 充电用时 4*2+2*8+3*1 = 27 行驶用时 2+5+4 = 11,总用时最短 38。
|
||
</pre>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= paths.length <= 200</code></li>
|
||
<li><code>paths[i].length == 3</code></li>
|
||
<li><code>2 <= charge.length == n <= 100</code></li>
|
||
<li><code>0 <= path[i][0],path[i][1],start,end < n</code></li>
|
||
<li><code>1 <= cnt <= 100</code></li>
|
||
<li><code>1 <= path[i][2] <= cnt</code></li>
|
||
<li><code>1 <= charge[i] <= 100</code></li>
|
||
<li>题目保证所有城市相互可以到达</li>
|
||
</ul>
|