|
8 | 8 |
|
9 | 9 | <p>汽车从起点出发驶向目的地,该目的地位于出发位置东面 <code>target</code> 英里处。</p>
|
10 | 10 |
|
11 |
| -<p>沿途有加油站,每个 <code>station[i]</code> 代表一个加油站,它位于出发位置东面 <code>station[i][0]</code> 英里处,并且有 <code>station[i][1]</code> 升汽油。</p> |
| 11 | +<p>沿途有加油站,用数组 <code>stations</code> 表示。其中 <code>stations[i] = [position<sub>i</sub>, fuel<sub>i</sub>]</code> 表示第 <code>i</code> 个加油站位于出发位置东面 <code>position<sub>i</sub></code> 英里处,并且有 <code>fuel<sub>i</sub></code> 升汽油。</p> |
12 | 12 |
|
13 |
| -<p>假设汽车油箱的容量是无限的,其中最初有 <code>startFuel</code> 升燃料。它每行驶 1 英里就会用掉 1 升汽油。</p> |
14 |
| - |
15 |
| -<p>当汽车到达加油站时,它可能停下来加油,将所有汽油从加油站转移到汽车中。</p> |
| 13 | +<p>假设汽车油箱的容量是无限的,其中最初有 <code>startFuel</code> 升燃料。它每行驶 1 英里就会用掉 1 升汽油。当汽车到达加油站时,它可能停下来加油,将所有汽油从加油站转移到汽车中。</p> |
16 | 14 |
|
17 | 15 | <p>为了到达目的地,汽车所必要的最低加油次数是多少?如果无法到达目的地,则返回 <code>-1</code> 。</p>
|
18 | 16 |
|
19 |
| -<p>注意:如果汽车到达加油站时剩余燃料为 0,它仍然可以在那里加油。如果汽车到达目的地时剩余燃料为 0,仍然认为它已经到达目的地。</p> |
| 17 | +<p>注意:如果汽车到达加油站时剩余燃料为 <code>0</code>,它仍然可以在那里加油。如果汽车到达目的地时剩余燃料为 <code>0</code>,仍然认为它已经到达目的地。</p> |
20 | 18 |
|
21 | 19 | <p> </p>
|
22 | 20 |
|
23 | 21 | <p><strong>示例 1:</strong></p>
|
24 | 22 |
|
25 |
| -<pre><strong>输入:</strong>target = 1, startFuel = 1, stations = [] |
| 23 | +<pre> |
| 24 | +<strong>输入:</strong>target = 1, startFuel = 1, stations = [] |
26 | 25 | <strong>输出:</strong>0
|
27 |
| -<strong>解释:</strong>我们可以在不加油的情况下到达目的地。 |
| 26 | +<strong>解释:</strong>可以在不加油的情况下到达目的地。 |
28 | 27 | </pre>
|
29 | 28 |
|
30 | 29 | <p><strong>示例 2:</strong></p>
|
31 | 30 |
|
32 |
| -<pre><strong>输入:</strong>target = 100, startFuel = 1, stations = [[10,100]] |
| 31 | +<pre> |
| 32 | +<strong>输入:</strong>target = 100, startFuel = 1, stations = [[10,100]] |
33 | 33 | <strong>输出:</strong>-1
|
34 |
| -<strong>解释:</strong>我们无法抵达目的地,甚至无法到达第一个加油站。 |
| 34 | +<strong>解释:</strong>无法抵达目的地,甚至无法到达第一个加油站。 |
35 | 35 | </pre>
|
36 | 36 |
|
37 | 37 | <p><strong>示例 3:</strong></p>
|
38 | 38 |
|
39 |
| -<pre><strong>输入:</strong>target = 100, startFuel = 10, stations = [[10,60],[20,30],[30,30],[60,40]] |
| 39 | +<pre> |
| 40 | +<strong>输入:</strong>target = 100, startFuel = 10, stations = [[10,60],[20,30],[30,30],[60,40]] |
40 | 41 | <strong>输出:</strong>2
|
41 | 42 | <strong>解释:</strong>
|
42 |
| -我们出发时有 10 升燃料。 |
43 |
| -我们开车来到距起点 10 英里处的加油站,消耗 10 升燃料。将汽油从 0 升加到 60 升。 |
44 |
| -然后,我们从 10 英里处的加油站开到 60 英里处的加油站(消耗 50 升燃料), |
45 |
| -并将汽油从 10 升加到 50 升。然后我们开车抵达目的地。 |
46 |
| -我们沿途在1两个加油站停靠,所以返回 2 。 |
| 43 | +出发时有 10 升燃料。 |
| 44 | +开车来到距起点 10 英里处的加油站,消耗 10 升燃料。将汽油从 0 升加到 60 升。 |
| 45 | +然后,从 10 英里处的加油站开到 60 英里处的加油站(消耗 50 升燃料), |
| 46 | +并将汽油从 10 升加到 50 升。然后开车抵达目的地。 |
| 47 | +沿途在两个加油站停靠,所以返回 2 。 |
47 | 48 | </pre>
|
48 | 49 |
|
49 | 50 | <p> </p>
|
50 | 51 |
|
51 | 52 | <p><strong>提示:</strong></p>
|
52 | 53 |
|
53 |
| -<ol> |
54 |
| - <li><code>1 <= target, startFuel, stations[i][1] <= 10^9</code></li> |
| 54 | +<ul> |
| 55 | + <li><code>1 <= target, startFuel <= 10<sup>9</sup></code></li> |
55 | 56 | <li><code>0 <= stations.length <= 500</code></li>
|
56 |
| - <li><code>0 < stations[0][0] < stations[1][0] < ... < stations[stations.length-1][0] < target</code></li> |
57 |
| -</ol> |
| 57 | + <li><code>1 <= position<sub>i</sub> < position<sub>i+1</sub> < target</code></li> |
| 58 | + <li><code>1 <= fuel<sub>i</sub> < 10<sup>9</sup></code></li> |
| 59 | +</ul> |
58 | 60 |
|
59 | 61 | ## 解法
|
60 | 62 |
|
|
0 commit comments