<address id="jv157"></address>
<sub id="jv157"></sub>

      <address id="jv157"></address>

      <thead id="jv157"></thead>

        【LeetCode】加油站

        【问题】在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

        你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。

        如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。

        说明:

        如果题目有解,该答案即为唯一答案。
        输入数组均为非空数组,且长度相同。
        输入数组中的元素均为非负数。

        输入:
        gas  = [1,2,3,4,5]
        cost = [3,4,5,1,2]
        输出: 3
        解释:
        从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油
        开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油
        开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油
        开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油
        开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油
        开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。
        因此,3 可为起始索引。

        【思路】首先我们要分析这个起点会不会存在?这个其实很简单,如果将所有的gas总油量 >= 车子的cost总耗油量,从而车子可以走一周的。
        我们分析一下,假设起始点为x, 如果总的gas-总的cost大于零时,则我们将当前路径从其实路径x一分为二,左侧的部分剩余油量必定 <= 0,而右侧的部分剩余油量必定 >= 0. 这样才可以使得车子可以完成一周的路程!

        class Solution {
        public:
            int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
                int total = 0, cur = 0, start = 0;
                for(int i = 0; i < gas.size(); i++){
                    total += (gas[i] - cost[i]);
                    cur += (gas[i] - cost[i]);
                    if(cur < 0){
                        start = i + 1;
                        cur = 0;
                    }
                }
                return (total >= 0) ? start : -1;
            }
        };
        相关文章
        相关标签/搜索
        2020年正版综合资料 东乡县| 永新县| 呼玛县| 宜城市| 衡山县| 明溪县| 日土县| 鹤峰县| 古田县| 施秉县| 呼伦贝尔市| 东方市| 恩平市| 汝南县| 拜泉县| 赤城县| 宾川县| 郑州市| 沙田区| 小金县| 安龙县| 杂多县| 田阳县| 裕民县| 门头沟区| 东城区| 诸城市| 康平县| 盘山县| 临邑县| 东明县| 汉川市| 潢川县| 涟源市| 滨海县| 莎车县| 永川市| 读书| 和田市| 资兴市| 永平县| 正宁县| 林周县| 澳门| 故城县| 酒泉市| 黑水县| 永康市| 常熟市| 洛扎县| 兴宁市| 红河县| 乌兰察布市| 岳西县| 玉溪市| 东乡族自治县| 林芝县| 平凉市| 大理市| 广宁县| 鸡东县| 会理县| 高碑店市| 苏州市| 余干县| 喀什市| 大洼县| 清流县| 屏山县| 公安县| 浏阳市| 黎川县| 资阳市| 四会市| 博野县| 宜良县| 资阳市| 南阳市| 油尖旺区| 凯里市| 永康市| 嘉鱼县| 治多县| 阿荣旗| 长海县| 深水埗区| 莲花县| 七台河市| 横峰县| 襄垣县| 屯门区| 华坪县| 长汀县| 隆尧县| 凌源市| 如皋市| 辽宁省| 兰溪市| 万安县| 乐清市| 绥中县| 神木县| 灵宝市| 固阳县| 类乌齐县| 大荔县| 金寨县| 临颍县| 库尔勒市| 西充县| 宝坻区| 盖州市| 安徽省| 大石桥市| 舟曲县| 南和县| 富源县| 交城县| 铜川市| 蒙自县| 岳西县| 盈江县| 明水县| 西城区| 阳信县| 米易县| 巴塘县| 清水县| 岳西县| 广宗县| 大关县| 孝感市| 合江县| 宁阳县| 探索| 丹寨县| 大安市| 南雄市| 达日县| 肇州县| 来安县| 厦门市| 来安县| 潢川县| 分宜县| 永清县| 专栏| 大庆市| 丹江口市| 贺州市| 苏尼特左旗| 吉水县| 鲁甸县| 镇赉县| 西华县| 湖北省| 山阳县| 玛纳斯县| 连州市| 镇江市| 秀山| 武乡县| 安塞县| 芜湖县| 新和县| 上栗县| 东丰县| 甘孜| 女性| 当雄县| 洛浦县| 合阳县| 大姚县| 八宿县| 安新县| 潞西市| 定陶县| 浦城县| 安徽省| 江城| 承德县| 武宣县| 革吉县| 昆山市| 四会市| 仁化县| 绵竹市| 罗山县| 瑞安市| 深泽县| 宣城市| 珲春市| 若尔盖县| 奉贤区| 武隆县| 平武县| 西丰县| 循化| 廉江市| 太白县| 隆尧县| 溧水县| 宝山区| 麻江县| 芒康县| 炎陵县| 措勤县| 锦屏县| 翁源县| 永丰县| 辛集市| 昂仁县| 沙河市| 赫章县| 惠安县| 巨野县| 甘谷县| 三都| 兴义市| 元阳县| 三门峡市| 马边| 安阳市| 宜兰市| 福泉市| 磴口县| 龙口市| 塔城市| 天长市| 长顺县| 抚顺市| 青冈县| 兴化市| 阳城县| 沙河市| 澄城县| 武功县| 郓城县| 玉屏| 富民县| 青田县| 两当县| 翼城县| 五华县| 民丰县| 淳安县| 息烽县| 高台县| 安国市| 德化县| 南平市| 岳西县| 保定市| 嘉黎县| 肇庆市| 富锦市| 合作市| 丹凤县| 土默特右旗| 马公市| 怀化市| 普陀区| 定安县| 大城县| 桂林市| 改则县| 迁安市| 锡林郭勒盟| 柘荣县| 东丰县| 阜城县| 平谷区| 长治县| 遂平县| 盖州市| 宁南县| 汽车| 甘德县| 微山县| 阳新县| 新竹县| 虹口区| 湘乡市| 万山特区| 汉寿县| 平原县| 准格尔旗| 保山市| 青冈县| 永仁县| 天长市| 白朗县| 思南县| 青龙| 盈江县| 溧阳市| 墨竹工卡县| 大安市| 南雄市| 双峰县| 隆安县| 桃江县| 高安市| 沈阳市| 延长县| 肇庆市| 乌兰察布市| 九龙城区| 马鞍山市| 凤山县| 城口县| 尚志市| 依兰县| 利津县| 奉化市| 洛阳市| 嘉善县| 河津市| 云南省| 中方县| 齐齐哈尔市| 淄博市| 探索| 盖州市| 青铜峡市| 海伦市| 卢氏县| 新和县| 灵丘县| 津南区| 布尔津县| 琼结县| 镶黄旗| 九龙县| 巴中市| 白玉县| 于都县| 如皋市| 达拉特旗| 合水县| 罗源县| 洱源县| 正蓝旗| 新建县| 德昌县| 井陉县| 远安县| 天气| 南召县| 黄石市| 黑河市| 临夏县| 上犹县| 临夏县| 汝城县| 晋城| 荆州市| 焉耆| 萨迦县| 东宁县| 建宁县| 赤水市| 左权县| 永清县| 琼结县| 石泉县| 西藏| 岫岩| 嵊州市| 桓仁| 淮南市| 泸西县| 邵阳县| 盐源县| 容城县| 霍邱县| 县级市| 红桥区| 井陉县| 威宁| 株洲县| 郓城县| 长兴县| 盘山县| 广平县| 佛坪县| 古蔺县| 方城县| 石景山区| 巨野县| 大英县| 积石山| 楚雄市| 前郭尔| 逊克县| 南阳市| 得荣县| 都安| 新闻| 荔波县| 西昌市| 宾阳县| 绥中县| 托里县| 海丰县| 赣榆县| 贡嘎县| 化州市| 兰坪| 方正县| 湖州市| 涪陵区| 桃园县| 偏关县| 新乐市| 呼伦贝尔市| 太和县| 海城市| 时尚| 双流县| 桓台县| 吐鲁番市| 凤凰县| 怀仁县| 东乌| 临猗县| 临颍县| 临泽县| 特克斯县| 云安县| 昆明市| 乡城县| 绥阳县| 杭锦旗| 辽阳县| 抚顺县| 织金县| 丽水市| 彭阳县| 烟台市| 东乌| 庆安县| 泽库县| 佛山市| 陇西县| 汾西县| 黄山市| 项城市| 玛纳斯县| 城固县| 喀什市| 南部县| 修水县| 云霄县| 赤城县| 鄯善县| 都匀市| 临泉县| 讷河市| 西畴县| 逊克县| 喜德县| 且末县| 敖汉旗| 利川市| 同德县| 双鸭山市| 扬中市| 广昌县| 宁远县| 大英县| 莱西市| 昌江| 连平县| 阿克| 玉环县| 东宁县| 卓尼县| 宣城市| 洪江市| 丹寨县| 蓝山县| 佛山市| 治县。| 洪江市| 都安| 普洱| 云龙县| 黄冈市| 深泽县| 岐山县| 桐乡市| 浦北县| 临夏县| 明光市| 阜康市| 秭归县| 延庆县| 霍山县| 韶关市| 龙川县| 皮山县| 白朗县| 岳池县| 正阳县| 新泰市| 潢川县| 丰台区| 丘北县| 开化县| 霍州市| 阿坝县| 邳州市| 陇南市| 惠安县| 都兰县| 新营市| 漳州市| 济阳县| 兴国县| 富阳市| 金山区| 昆山市| 泽普县| 吴堡县| 文登市| 惠安县| 原平市| 石阡县| 翼城县| 贵州省| 鄂托克前旗| 兴仁县| 那曲县| 葫芦岛市| 宁国市| 平原县| 莱阳市| 博白县| 琼海市| 商丘市| 新巴尔虎左旗| 交城县| 临猗县| 兰考县| 彩票| 祁东县| 科尔| 都安| 贵南县| 都安| 阳城县| 灵璧县| 平遥县| 天长市| 天台县| 临西县| 延庆县| 通山县| 武邑县| 荔波县| 大丰市| 赫章县| 苏州市| 沂南县| 陇南市| 襄汾县| 铜梁县| 白银市| 平舆县| 威海市| 剑阁县| 英超| 甘谷县| 青海省| 东兰县| 汤原县| 托里县| 昌都县| 武隆县| 宁都县| 裕民县| 曲靖市| 长海县| 湖北省| 巫溪县| 泽普县| 平谷区| 锡林浩特市| 漳浦县| 汝南县| 垦利县| 保德县| 镇原县| 阆中市| 新兴县| 延寿县| 大荔县| 开封县| 黄平县| 若羌县| 岳西县| 云阳县| 绵竹市| 瑞丽市| 武乡县| 庄浪县| 铜梁县| 嘉鱼县| 东丽区| 开原市| 故城县| 娄烦县| 沐川县| 镇赉县| http://www.hz0j3r3vo.fun http://www.hz0j3r6vo.fun http://wap.jx1870evenv.fun http://jx1870factorv.fun http://wap.jx1870institutev.fun http://wap.jx1870enhancev.fun http://m.jx1870getv.fun http://m.jx1870forzatv.fun http://m.jx1870evenv.fun http://www.jx1870hopev.fun http://wap.jx1870fitv.fun http://wap.hz0j4r8vo.fun http://jx1870feelv.fun http://wap.jx1870fieldv.fun http://www.jx1870guardv.fun http://wap.jx1870forcev.fun http://www.jx1870freev.fun http://m.jx1870estizatev.fun