由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - gas station的解法,我觉得有不完备的可能---貌似又是完备的。
相关主题
three sum复杂度nlg(n)怎么解find Kth Largest Element 有没有更简化的解法
Maximal Rectangle O(mn) 解法 非 histogramleetcode的count and say
NB的解法:Gray code!LeetCode Solutions in Swift 2.1 已更新至第88题
找零钱dp的问题buy and sell stock II with 手续费
有没有人和我一样觉得leetcode不如以前了?onsite完了求bless~(附带点面经)
求Leetcode 3Sum 能过大数据的python解法……问一道题(5)
我这个 4sum的解法是 o^3还是o^2? , xiexie关于K个sorted数组中第n大数的问题
LC出官方solution了~~请问LeetCode Wild Matching的贪心解法,为什么只需要记录最后一个*?
相关话题的讨论汇总
话题: 终点话题: gas话题: int话题: 跑下来话题: 解法
进入JobHunting版参与讨论
1 (共1页)
j*****d
发帖数: 1625
1
public class Solution {
public int canCompleteCircuit(int[] gas, int[] cost) {
int sum = 0;
int total = 0;
int j = -1;
for(int i = 0; i < gas.length ; ++i)
{
sum += gas[i]-cost[i];
total += gas[i]-cost[i];
if(sum < 0)
{
j=i; sum = 0;
}
}
if(total<0) return -1;
else return j+1;
}
}
OJ的确是accepted了。但是我觉得是test case不够多,没有测到我认为的case。

这个解法的问题在于,把那个圈当作了直线的100米跑道。第一个点,起点开始,算的
能否跑下来整圈。但是第一个点没跑下来之后,测的点,都只测了从 点 j ,跑到 gas
.length - 1的点的可能性。因为题目The solution is guaranteed to be unique,所
以能跑下来的点,自然在从j到gas.length - 1的点都可以跑下来。
但是,这个解法,就没有算能否从“终点”跑到 J -1的那个点。其实也不需要算,因
为答案唯一,能从 J到终点的点只有一个,那么算出来那个点,从终点到 j -1 自然
不用算了。
但是,如果答案不唯一,貌似需要把 index i, 取个模,把所有的能跑下来的点存下
来。因为唯一的条件不能用了,如果再用这个算法,就可能把所有能从j 跑到终点,但
是不能从终点跑回到 j - 1点的算进去?
写到这里,我发现,我错了。假设, J k两个点, K更接近终点,那么如果JK都能跑道
终点,那么J K段只会是积累gas,或者是0.那么如果终点能跑到 K - 1,也必然能跑
到 J -1.
废话帖子。
s****j
发帖数: 5
2
这个题最关键的一句应该是有唯一解吧。。。
1 (共1页)
进入JobHunting版参与讨论
相关主题
请问LeetCode Wild Matching的贪心解法,为什么只需要记录最后一个*?有没有人和我一样觉得leetcode不如以前了?
面试问题求教求Leetcode 3Sum 能过大数据的python解法……
google追加面试。。。我这个 4sum的解法是 o^3还是o^2? , xiexie
请教一下那个paint house的DP题LC出官方solution了~~
three sum复杂度nlg(n)怎么解find Kth Largest Element 有没有更简化的解法
Maximal Rectangle O(mn) 解法 非 histogramleetcode的count and say
NB的解法:Gray code!LeetCode Solutions in Swift 2.1 已更新至第88题
找零钱dp的问题buy and sell stock II with 手续费
相关话题的讨论汇总
话题: 终点话题: gas话题: int话题: 跑下来话题: 解法