mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
49 lines
2.6 KiB
HTML
49 lines
2.6 KiB
HTML
<p>A car travels from a starting position to a destination which is <code>target</code> miles east of the starting position.</p>
|
|
|
|
<p>There are gas stations along the way. The gas stations are represented as an array <code>stations</code> where <code>stations[i] = [position<sub>i</sub>, fuel<sub>i</sub>]</code> indicates that the <code>i<sup>th</sup></code> gas station is <code>position<sub>i</sub></code> miles east of the starting position and has <code>fuel<sub>i</sub></code> liters of gas.</p>
|
|
|
|
<p>The car starts with an infinite tank of gas, which initially has <code>startFuel</code> liters of fuel in it. It uses one liter of gas per one mile that it drives. When the car reaches a gas station, it may stop and refuel, transferring all the gas from the station into the car.</p>
|
|
|
|
<p>Return <em>the minimum number of refueling stops the car must make in order to reach its destination</em>. If it cannot reach the destination, return <code>-1</code>.</p>
|
|
|
|
<p>Note that if the car reaches a gas station with <code>0</code> fuel left, the car can still refuel there. If the car reaches the destination with <code>0</code> fuel left, it is still considered to have arrived.</p>
|
|
|
|
<p> </p>
|
|
<p><strong class="example">Example 1:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> target = 1, startFuel = 1, stations = []
|
|
<strong>Output:</strong> 0
|
|
<strong>Explanation:</strong> We can reach the target without refueling.
|
|
</pre>
|
|
|
|
<p><strong class="example">Example 2:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> target = 100, startFuel = 1, stations = [[10,100]]
|
|
<strong>Output:</strong> -1
|
|
<strong>Explanation:</strong> We can not reach the target (or even the first gas station).
|
|
</pre>
|
|
|
|
<p><strong class="example">Example 3:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> target = 100, startFuel = 10, stations = [[10,60],[20,30],[30,30],[60,40]]
|
|
<strong>Output:</strong> 2
|
|
<strong>Explanation:</strong> We start with 10 liters of fuel.
|
|
We drive to position 10, expending 10 liters of fuel. We refuel from 0 liters to 60 liters of gas.
|
|
Then, we drive from position 10 to position 60 (expending 50 liters of fuel),
|
|
and refuel from 10 liters to 50 liters of gas. We then drive to and reach the target.
|
|
We made 2 refueling stops along the way, so we return 2.
|
|
</pre>
|
|
|
|
<p> </p>
|
|
<p><strong>Constraints:</strong></p>
|
|
|
|
<ul>
|
|
<li><code>1 <= target, startFuel <= 10<sup>9</sup></code></li>
|
|
<li><code>0 <= stations.length <= 500</code></li>
|
|
<li><code>1 <= position<sub>i</sub> < position<sub>i+1</sub> < target</code></li>
|
|
<li><code>1 <= fuel<sub>i</sub> < 10<sup>9</sup></code></li>
|
|
</ul>
|