class Solution:
    def canCompleteCircuit(self , gas , cost ):  # 走一圈的意思是从某个加油站出发再走回这个加油站
        # write code here
        if len(gas) == 1:
            if gas[0] < cost[0]:
                return -1
            else:
                return 0
        l = [1 for i in range(len(gas))]  # 假设从每个加油站出发都能走一圈
        for i in range(len(gas)):  # 外层循环,从每个加油站出发一次,看看是否能够走回来
            num = gas[i]  # 从当前加油站出发,先把油加上
            for j in range(len(gas)):
                if num < cost[(i+j)%len(gas)]:  # 走不到下一个加油站,就证明从当前加油站出发无法走一圈
                    l[i] = 0  # 当前加油站标记为0,也就是标记为无法走一圈
                    break
                else:
                    num -= cost[(i+j)%len(gas)]  # 能走到下一个加油站,扣除耗油
                    num += gas[(i+j+1)%len(gas)] # 把下一个加油站的油加进邮箱
        if 1 in l:
            return l.index(1)
        return -1