当前位置:   article > 正文

LeetCode--Gas Station(加油站)python_python环路加油站

python环路加油站

题目:

给定一组站点,每个站点包含两个数据gas[i]和cost[i],分别为该站点可加的油量和跑到下一站点的油量。这些站点组成一个环,求从哪个站点出发可以跑完整个环,若不能跑完整个环,则返回-1.

解题思路:

1.对站点进行遍历,从每个站点出发一次,看从该站点出发能不能跑完整个环。该思路会超时。

2.考虑该问题的规律和特征。有两个特征:a.若sum(gas)<sum(cost),则返回值为-1. b.若从0-n的sum(gas)<sum(cost),则n以前的所有站点都不能作为起始站点。

代码(Python):

  1. class Solution(object):
  2. def canCompleteCircuit(self, gas, cost):
  3. """
  4. :type gas: List[int]
  5. :type cost: List[int]
  6. :rtype: int
  7. """
  8. if sum(gas)<sum(cost):
  9. return -1
  10. else:
  11. res = 0
  12. station = 0
  13. for i in range(len(gas)):
  14. if res+gas[i]-cost[i]<0:
  15. station = i+1
  16. res = 0
  17. else:
  18. res = res+gas[i]-cost[i]
  19. return station

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/493523
推荐阅读
相关标签
  

闽ICP备14008679号