1. 程式人生 > >LeetCode--134:加油站

LeetCode--134:加油站

題目:

給定一組站點,每個站點包含兩個資料gas[i]和cost[i],分別為該站點可加的油量和跑到下一站點的油量。這些站點組成一個環,求從哪個站點出發可以跑完整個環,若不能跑完整個環,則返回-1.

程式碼(python)

class Solution:
    def canCompleteCircuit(self, gas, cost):
        """
        :type gas: List[int]
        :type cost: List[int]
        :rtype: int
        思路:
            sum(gas) < sum(cost) return -1
            0-n: sum(gas) < sum(cost)則不能作為開始站點
        """
        if sum(gas)<sum(cost):
            return -1
        else:
            res = 0
            station = 0
            for i in range(len(gas)):
                if res+gas[i]-cost[i]<0:
                    station = i+1
                    res = 0
                else:
                    res = res+gas[i]-cost[i]
            return station