Here's my code:

```
class Solution:
# @param gas, a list of integers
# @param cost, a list of integers
# @return an integer
def canCompleteCircuit(self, gas, cost):
if len(gas) < 1:
return -1
for i in range(len(gas)):
count = 0
gas_total = 0
cost_total = 0
station = i
while count < len(gas):
gas_total += gas[station]
cost_total += cost[station]
if station == len(gas)-1:
station = 0
else:
station += 1
if gas_total < cost_total:
break
else:
count += 1
if gas_total >= cost_total:
return i
else:
continue
return -1
```

Not the prettiest but it's the only way I can think of to express the logic that one should start at each station and keep a cumulative count of the gas obtained and expended, and that if at any point more gas has been expended than obtained, break out of the circuit and start over at the next station.

Is there a better (faster) way to express this logic? Or perhaps a simpler bit of logic to solve the problem altogether?