算法打卡日志-2020.11.18 | LeetCode134

题目 134.加油站

这道题的标签是贪心算法,贪心算法这一块了解思想,但是不能辨别,不是很懂,但是暴力破解还是可以的:两层循环,第一层是假设每个店为起点,在第二层查看是否能够达到终点。

public int canCompleteCircuit(int[] gas, int[] cost) {
    int len=gas.length;
    for (int i = 0; i < len; i++) {
        int g=0;
        int j = 0;
        for (; j < len; j++) {
            int index=(i+j)%len;//当前点,因为会循环,所以选择求模来处理
            g=g+gas[index]-cost[index];
            if (g<0){//汽油耗尽,退出循环,继续下一点
                break;
            }
        }
        if (j==len){//当前点数到了总站数,说明已经走过了所有站点,返回当前的起始站
            return i;
        }
    }
    return -1;
}
posted @ 2020-11-18 16:23  PPPPu  阅读(75)  评论(0)    收藏  举报