您的位置:首页 > 编程语言 > C语言/C++

Gas Station

2014-11-14 21:53 351 查看
Gas Station

不妨设车站为:A,B,C,D,E,F  围成一圈(F 下一个回到 A)

提示:假设从A开始,可以走到C,并且到C后再走,到不了D,那么不论从A,B,C中的任何一个为起点,都到不了D

下面的自己想明白了如何操作再看

=======================================

思路更新:

其实只需遍历一遍即可

total 记录总油耗,转一圈之后如果 total < 0 说明无解

tank 记录油箱中的油 >= 0 的状态,并设置一个 pos 记录目前油箱保持连续 >= 0 状态的起始点

如果最后 total >= 0 那么这个起始点记为所求

(稍微有点dp思想)

我的操作:

操作的时候可以用两个指针,一个指向起点,另一个指向目前可以行驶到的点,当快的追上慢的就说明能行驶一圈,如果慢的走过了一圈还没被追上,说明都不行

时间复杂度为 O(n)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Leetcode python c++ dp