博客
关于我
加油站(贪心)
阅读量:359 次
发布时间:2019-03-04

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

题目描述

环形路上有n个加油站,第i个加油站的汽油量是gas[i].
你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。
求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。 注意: 答案保证唯一。
示例1
输入
复制
[2,3,1],[3,1,2]
返回值
1

class Solution {   public:    /**     *      * @param gas int整型vector      * @param cost int整型vector      * @return int整型     */    int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {           // write code here        int whole = 0; // 全局的加油、油耗的差        int remain = 0; // 每到下一站剩余的油量        int index = -1;        for(int i = 0; i < gas.size(); i++){               whole += gas[i] - cost[i];            remain += gas[i] - cost[i];            // 到下一站的油量小于0,说明不能从i走到i+1            if(remain < 0){                   remain = 0;                index = i;            }        }        // 有解        if(whole >= 0)            return index + 1;        else            return -1;    }};

在这里插入图片描述

转载地址:http://ufdg.baihongyu.com/

你可能感兴趣的文章
新生儿哭是因为什么
查看>>
基础知识
查看>>
nodeName与tagName的区别
查看>>
(九)实现页面底部购物车的样式
查看>>
在vue中给对象扩展属性的方法
查看>>
Cannot read property '$el' of undefined at VueComponent
查看>>
Neo4j : 通过节点的 id属性 对节点进行查,改,删操作
查看>>
Linux标准错误和标准输出重定向到同一个文件
查看>>
【2021年新书推荐】ASP.NET Core 5 and Angular
查看>>
python-day3 for语句完整使用
查看>>
java.lang.OutOfMemoryError: Java heap space 的处理办法
查看>>
java基础知识:构造函数
查看>>
java基础知识:封装
查看>>
linux下安装tomcat服务器
查看>>
mysql 中的数据实现递归查询
查看>>
linux下远程上传命令scp
查看>>
(四)块设备文件
查看>>
可重入和不可重入函数
查看>>
(2.1)关系模型之关系结构和约束
查看>>
DBA 技能图谱1.0
查看>>