博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
187. 加油站
阅读量:6476 次
发布时间:2019-06-23

本文共 957 字,大约阅读时间需要 3 分钟。

187. 加油站 

 

在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]

你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。

求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回-1

 注意事项

数据保证答案唯一。

样例

现在有4个加油站,汽油量gas[i]=[1, 1, 3, 1],环路旅行时消耗的汽油量cost[i]=[2, 2, 1, 1]。则出发的加油站的编号为2。

O(n)时间和O(1)额外空间

class Solution {public:    /*     * @param gas: An array of integers     * @param cost: An array of integers     * @return: An integer     */    int canCompleteCircuit(vector
&gas, vector
&cost) { // write your code here if(gas.empty()||cost.empty()) return 0; int n=cost.size(); int begin=0; //假设从第零个加油站开始走 int cur=0; //当前储油量 int Gas=0,Cost=0; //Gas记录汽油总量,Cost记录着走完环路的消耗总量 for(int i=0;i
=Cost?begin:-1; //如果花费总量大于汽油总量肯定走不完了,否则就返回起始点 }};

  

转载于:https://www.cnblogs.com/kanekiken/p/8005847.html

你可能感兴趣的文章
当我们谈性能的时候,我们实际上在谈什么?
查看>>
蔡超:入门 Go 语言必须跨越的五个思维误区
查看>>
使用Akka Actor和Java 8构建反应式应用
查看>>
curl常用命令详解
查看>>
saltstack 添加计划任务
查看>>
Puppet module命令参数介绍(六)
查看>>
《UNIX网络编程》中第一个timer_server的例子
查看>>
CISCO 路由器(4)
查看>>
网络服务搭建、配置与管理大全(Linux版)
查看>>
Silverlight 5 Beta新特性[4]文本缩进控制
查看>>
springMVC多数据源使用 跨库跨连接
查看>>
Git服务端和客户端安装笔记
查看>>
Spring Security(14)——权限鉴定基础
查看>>
IntelliJ IDEA快捷键
查看>>
【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
查看>>
MongoDB的基础使用
查看>>
进程间通信——命名管道
查看>>
LINUX 重定向的知识
查看>>
ssh登陆不需要密码
查看>>
ARP
查看>>