当前位置:网站首页>LeetCode 871. Minimum refueling times
LeetCode 871. Minimum refueling times
2022-07-04 20:40:00 【JIeJaitt】
The car set off from the starting point to the destination , The purpose is to the east of the starting position target Miles away .
There are gas stations along the way , Every station[i] For a gas station , It's east of the starting point station[i][0] Miles away , And there are station[i][1] A litre of petrol .
Suppose the capacity of the car's fuel tank is infinite , At first there was startFuel Liter fuel . Every time it drives 1 Miles will be used 1 A litre of petrol .
When the car arrives at the gas station , It may stop to refuel , Transfer all gasoline from the gas station to the car .
In order to reach the destination , What's the minimum number of refuels necessary for a car ? If you can't get to your destination , Then return to -1 .
Be careful : If the remaining fuel when the car arrives at the gas station is 0, It can still refuel there . If the remaining fuel is 0, Still think it has reached its destination .
Example 1:
Input :target = 1, startFuel = 1, stations = [] Output :0 explain : We can get to our destination without refueling .
Example 2:
Input :target = 100, startFuel = 1, stations = [[10,100]] Output :-1 explain : We can't get to our destination , Not even getting to the first gas station .
Example 3:
Input :target = 100, startFuel = 10, stations = [[10,60],[20,30],[30,30],[60,40]] Output :2 explain : We set out with 10 Liter fuel . We drove to the starting point 10 The gas station at mile , Consume 10 Liter fuel . Take the gas from 0 To add to 60 l . then , We from 10 The gas station is miles away 60 The gas station at mile ( Consume 50 Liter fuel ), And take the gas from 10 To add to 50 l . Then we drove to our destination . We are on the way 1 Two gas stations stop , So back 2 .
Tips :
1 <= target, startFuel, stations[i][1] <= 10^90 <= stations.length <= 5000 < stations[0][0] < stations[1][0] < ... < stations[stations.length-1][0] < target
Greedy question , It's difficult to prove , But the idea is more direct .
The specific methods are as follows .
Calculate the current position ( Gas station or destination ) The distance from the previous position , According to the distance difference, the amount of gasoline needed to drive from the previous position to the current position , Subtract the amount of gasoline used from the remaining amount of gasoline .
If the remaining gasoline quantity is less than 000, It means that you cannot drive from the previous position to the current position without refueling , We need to refuel . Take the largest element in the priority queue and add it to the remaining gasoline , And increase the refueling times 111, Repeat this operation until the remaining gasoline quantity is greater than or equal to 000 Or the priority queue becomes empty .
If the priority queue becomes empty , The remaining amount of gasoline is still less than 000, It means that you still can't reach the current position after refueling at all the passing gas stations , return −1-1−1.
If the current location is a gas station , Then add the refueling volume of the current gas station to the priority queue , And update the previous location with the current location .
class Solution {
public:
int minRefuelStops(int target, int startFuel, vector<vector<int>>& stations) {
stations.push_back({
target,0});
int res=0;
priority_queue<int> heap;
for (auto& p:stations) {
int x=p[0],y=p[1];
while(heap.size() && startFuel<x) {
startFuel += heap.top();
heap.pop();
res ++;
}
if (startFuel<x) return -1;
heap.push(y);
}
return res;
}
};
边栏推荐
- go语言笔记(4)go常用管理命令
- Aiming at the "amnesia" of deep learning, scientists proposed that based on similarity weighted interleaved learning, they can board PNAS
- 凌云出海记 | 沐融科技&华为云:打造非洲金融SaaS解决方案样板
- Optimization cases of complex factor calculation: deep imbalance, buying and selling pressure index, volatility calculation
- 九齐NY8B062D MCU规格书/datasheet
- C server log module
- Oracle database, numbers Force 2 decimal places to display-Alibaba Cloud
- Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
- Lingyun going to sea | Murong Technology & Huawei cloud: creating a model of financial SaaS solutions in Africa
- Actual combat simulation │ JWT login authentication
猜你喜欢

Flet教程之 04 FilledTonalButton基础入门(教程含源码)

Aiming at the "amnesia" of deep learning, scientists proposed that based on similarity weighted interleaved learning, they can board PNAS

Pointnext: review pointnet through improved model training and scaling strategies++

Application practice | Shuhai supply chain construction of data center based on Apache Doris

Process of manually encrypt the mass-producing firmware and programming ESP devices

idea恢复默认快捷键

Selected review | machine learning technology for Cataract Classification / classification

【ISMB2022教程】图表示学习的精准医疗,哈佛大学Marinka Zitnik主讲,附87页ppt
![[today in history] July 4: the first e-book came out; The inventor of magnetic stripe card was born; Palm computer pioneer was born](/img/0b/73f0d98a6db813e54074abe199ed98.png)
[today in history] July 4: the first e-book came out; The inventor of magnetic stripe card was born; Palm computer pioneer was born

Qt编写物联网管理平台38-多种数据库支持
随机推荐
针对深度学习的“失忆症”,科学家提出基于相似性加权交错学习,登上PNAS
SSRS筛选器的IN运算(即包含于)用法
On communication bus arbitration mechanism and network flow control from the perspective of real-time application
Employment prospects and current situation of Internet of things application technology
Flet教程之 04 FilledTonalButton基础入门(教程含源码)
PHP pseudo original API docking method
易周金融 | Q1保险行业活跃人数8688.67万人 19家支付机构牌照被注销
2022 version of stronger jsonpath compatibility and performance test (snack3, fastjson2, jayway.jsonpath)
Oracle database, numbers Force 2 decimal places to display-Alibaba Cloud
2022 Health Exhibition, Beijing Health Expo, China Health Exhibition, great health exhibition November 13
Taishan Office Technology Lecture: about the order of background (shading and highlighting)
Managed service network: application architecture evolution in the cloud native Era
【深度学习】一文看尽Pytorch之十九种损失函数
Practical examples of node strong cache and negotiation cache
关于联邦学习和激励的相关概念(1)
Anhui Zhong'an online culture and tourism channel launched a series of financial media products of "follow the small editor to visit Anhui"
Cdga | six principles that data governance has to adhere to
输入的查询SQL语句,是如何执行的?
C language - Introduction - Foundation - grammar - process control (VII)
Thinking on demand development