本博客参考自discuss
原题链接:https://leetcode.com/problems/gas-station/
1. 思路
若所有station的gas小于cost之和,则解一定存在 .证明如下:
假设i使得下式最小,则解的位置应为i+1
两部求证:
首先
(如该式不成立,i最小的假设不成立)
其次
gas[i+1]-cost[i+1]+...+gas[n-1]-cost[n-1] + gas[0]-cost[0]+gas[1]-cost[1]+...+gas[j]-cost[j]>=
gas[i+1]-cost[i+1]+...+gas[n-1]-cost[n-1] + gas[0]-cost[0]+gas[1]-cost[1]+...+gas[i]-cost[i]>=0
最后一个不等式成立是因为gas之和大于等于cost之和的大前提。总的来说,可发现从i+1开始的旅程能顺利到达i,解存在。