当前位置:网站首页>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^9
0 <= stations.length <= 500
0 < 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;
}
};
边栏推荐
- idea插件
- 紫光展锐完成全球首个 5G R17 IoT NTN 卫星物联网上星实测
- Taishan Office Technology Lecture: about the order of background (shading and highlighting)
- What is the application technology of neural network and Internet of things
- Pytoch learning (4)
- Optimize if code with policy mode [policy mode]
- go笔记(1)go语言介绍以及特点
- 复杂因子计算优化案例:深度不平衡、买卖压力指标、波动率计算
- Template_ Judging prime_ Square root / six prime method
- Write it down once Net analysis of thread burst height of an industrial control data acquisition platform
猜你喜欢
B2B mall system development of electronic components: an example of enabling enterprises to build standardized purchase, sale and inventory processes
Selected review | machine learning technology for Cataract Classification / classification
NLP, vision, chip What is the development direction of AI? Release of the outlook report of Qingyuan Association [download attached]
Neural network IOT platform construction (IOT platform construction practical tutorial)
ICML 2022 | meta proposes a robust multi-objective Bayesian optimization method to effectively deal with input noise
FS8B711S14电动红酒开瓶器单片机IC方案开发专用集成IC
针对深度学习的“失忆症”,科学家提出基于相似性加权交错学习,登上PNAS
同事的接口文档我每次看着就头大,毛病多多。。。
Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
idea配置标准注释
随机推荐
Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
Anhui Zhong'an online culture and tourism channel launched a series of financial media products of "follow the small editor to visit Anhui"
2022 version of stronger jsonpath compatibility and performance test (snack3, fastjson2, jayway.jsonpath)
[graduation season] green ant new fermented grains wine, red mud small stove. If it snows late, can you drink a cup?
QT writing the Internet of things management platform 38- multiple database support
CDGA|数据治理不得不坚持的六个原则
Flet tutorial 05 outlinedbutton basic introduction (tutorial includes source code)
凌云出海记 | 沐融科技&华为云:打造非洲金融SaaS解决方案样板
C # better operation mongodb database
Integretee integrates into Moonriver through xcm, bringing enterprise class privacy solutions to its ecosystem
六石编程学:关于代码,有六个得意
Development and construction of DFI ecological NFT mobile mining system
Flet教程之 04 FilledTonalButton基础入门(教程含源码)
E-week finance | Q1 the number of active people in the insurance industry was 86.8867 million, and the licenses of 19 Payment institutions were cancelled
强化学习-学习笔记2 | 价值学习
Chrome development tool: what the hell is vmxxx file
Template_ Judging prime_ Square root / six prime method
Huawei cloud store homepage banner resource bit application
In operation (i.e. included in) usage of SSRs filter