博客
关于我
加油站(贪心)
阅读量: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/

你可能感兴趣的文章
SVN Unable to connect to a repository at URL 的解决方案
查看>>
OSI 7 层网络模型
查看>>
JDK 内置的多线程协作工具类的使用场景
查看>>
Java 中哪些对象可以获取类对象
查看>>
linux 的 sleep 命令
查看>>
11.2.6 时间值的小数秒
查看>>
Redis源码分析(七)--- zipmap压缩图
查看>>
大规模集群自动化部署工具--Chef的安装部署
查看>>
自定义Hive Sql Job分析工具
查看>>
【MySQL】(九)触发器
查看>>
关于Altium Designer 09导出BOM表不能正确分类问题
查看>>
Oracle 11G环境配置
查看>>
【Python】(十二)IO 文件处理
查看>>
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
查看>>
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
查看>>
C语言的数值溢出问题(上)
查看>>
BottomNavigationView控件item多于3个时文字不显示
查看>>
函数指针的典型应用-计算函数的定积分(矩形法思想)
查看>>
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
查看>>
用 wxPython 打印你的 App
查看>>