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;
        
    }
相关推荐
mmmmath_313 小时前
LeetCode.020.有效的括号
数据结构·算法·leetcode
Doubbbbbbble云13 小时前
算法优化中的数学建模与理论界限分析4
算法·数学建模
垆边人似月.13 小时前
华为机考题:字符个数统计
数据结构·算法·华为
en.en..13 小时前
Linux 进程退出exit(函数)
java·开发语言·算法
All for pursuit.13 小时前
【回溯-2】22.括号生成
数据结构·c++·算法·leetcode
longlongzihan14 小时前
LeetCode 1004.最大连续1的个数III 滑动窗口及动态规划题解
c++·算法·leetcode·dp·滑动窗口
朝朝辞暮i14 小时前
C++ 第 22 课:const —— 不允许随便修改的数据
开发语言·c++·算法
Chen—LSN14 小时前
数据结构——拿捏复杂度
java·c语言·开发语言·数据结构·经验分享·笔记·算法
Chen_harmony14 小时前
六、排序详解
c语言·数据结构·算法·排序算法
-dzk-15 小时前
【贪心算法】LC 55.跳跃游戏
算法·游戏·贪心算法