Minimum Number of Refueling Stops
Let's solve the Minimum Number of Refueling Stops problem using Dynamic Programming.
Statement
You need to find the minimum number of refueling stops that a car needs to make to cover a distance, target
. For simplicity, assume that the car has to travel from west to east in a straight line. There are various fuel stations on the way, that are represented as a 2-D array of stations, i.e., stations[i]
, where is the distance in miles of the gas station from the starting position, and is the amount of fuel in liters that it stores. Initially, the car starts with k
liters of fuel. The car consumes one liter of fuel for every mile traveled. Upon reaching a gas station, the car can stop and refuel using all the petrol stored at the station. In case it cannot reach the target, the program simply returns .
Note: If the car reaches a station with fuel left, it can refuel from that station, and all the fuel from that station can be transferred to the car. If the car reaches the target with fuel left, it is still considered to have arrived.
For example:
- target:
- start fuel:
- stations:
If we want to reach the target of 15 miles, we have to refuel from a minimum of stations to reach the target. First, we will refuel our car with liters from the second station and then refuel liters from the third station.
Constraints:
-
target
,k
-
stations.length
-
target
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.