Leetcode-day28-贪心算法

加油站

暴力解法

```

```

贪心算法

贪心的思路是:curSum也就是当前剩余的油量如果小于0了,说明只能从i+1开始走。如果totalSum最终小于0,怎么走都无解。而且题目中说如果是有解,唯一解

复制代码
class Solution {
    public int canCompleteCircuit(int[] gas, int[] cost) {
        int curSum = 0;
        int totalSum = 0;
        int start = 0;
        for(int i=0;i<cost.length;i++){
            curSum += gas[i] - cost[i];
            totalSum += gas[i] - cost[i];
            if(curSum<0){
                start = i+1;
                curSum=0;
            }
        }
        if(totalSum<0){
        return -1;}
        return start;
        
    }
相关推荐
美式请加冰15 小时前
最短路径问题
java·数据结构·算法
会编程的土豆15 小时前
【数据结构与算法】 时间复杂度计算
数据结构·c++·算法
小年糕是糕手15 小时前
【35天从0开始备战蓝桥杯 -- Day9】
数据结构·数据库·c++·算法·蓝桥杯
知星小度S15 小时前
算法训练之递归(二)
算法
无限进步_15 小时前
【C++】反转字符串的进阶技巧:每隔k个字符反转k个
java·开发语言·c++·git·算法·github·visual studio
Fly Wine15 小时前
Leetcode只二叉树中序遍历(python解法)
算法·leetcode·职场和发展
bnmoel15 小时前
C语言自定义类型:联合和枚举
c语言·开发语言·数据结构·算法
计算机安禾15 小时前
【数据结构与算法】第34篇:选择排序:简单选择排序与堆排序
c语言·开发语言·数据结构·c++·算法·排序算法·visual studio
汀、人工智能1 天前
[特殊字符] 第40课:二叉树最大深度
数据结构·算法·数据库架构·图论·bfs·二叉树最大深度
沉鱼.441 天前
第十二届题目
java·前端·算法