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;
        
    }
相关推荐
Jeremy爱编码4 分钟前
leetcode热题组合总和
算法·leetcode·职场和发展
努力学算法的蒟蒻14 分钟前
day57(1.8)——leetcode面试经典150
算法·leetcode·面试
言之。14 分钟前
大模型 API 中的 Token Log Probabilities(logprobs)
人工智能·算法·机器学习
自然数e25 分钟前
c++多线程【多线程常见使用以及几个多线程数据结构实现】
数据结构·c++·算法·多线程
黛色正浓28 分钟前
leetCode-热题100-普通数组合集(JavaScript)
java·数据结构·算法
元亓亓亓32 分钟前
LeetCode热题100--5. 最长回文子串--中等
linux·算法·leetcode
千金裘换酒36 分钟前
LeetCode 环形链表+升级版环形链表
算法·leetcode·链表
小鸡吃米…36 分钟前
机器学习中的随机森林算法
算法·随机森林·机器学习
霁月中1 小时前
[Codeforces Round 1065 (Div. 3)](A-D,F)
算法
世洋Blog1 小时前
算法导论-分治法和合并(Merge)排序
算法