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;
        
    }
相关推荐
让我们一起加油好吗4 分钟前
【数论】费马小定理
c++·算法·数论·1024程序员节·费马小定理·逆元
大数据张老师24 分钟前
数据结构——冒泡排序
数据结构·算法·排序算法·1024程序员节
m0_7482336439 分钟前
单调队列【C/C++】
c语言·c++·算法·1024程序员节
大数据张老师1 小时前
数据结构——折半插入排序
数据结构·算法·排序算法·1024程序员节
yi碗汤园1 小时前
【一文了解】八大排序-插入排序、希尔排序
开发语言·算法·unity·c#·1024程序员节
Han.miracle1 小时前
数据结构——排序的超级详解(Java版)
java·数据结构·学习·算法·leetcode·排序算法·1024程序员节
搂鱼1145142 小时前
GJOI 10.20/10.22 题解
算法
我搞slam2 小时前
插入区间--leetcode
算法·leetcode
前进之路92 小时前
Leetcode每日一练--40
算法·leetcode
Swift社区2 小时前
LeetCode 405 - 数字转换为十六进制数
算法·leetcode·职场和发展