Gas Station
来源:互联网 发布:华娱无线java 编辑:程序博客网 时间:2024/06/03 16:36
原题地址:点我传送
对这个圈做遍历,从该点出发,对每到一个点,计算剩余汽油量remain,如果remain小于0则说明不能往下走了,此时remain同时表示从出发点到这里的下一个点的汽油消耗量,要进行另外一次新的出发,出发点应是此时的点往后一个(即下一个点),因为中间肯定是行不通的。remainCost再加上此时的remain就是出发点0到这里的下一个点所消耗的总汽油量了。设定好新出发点(i+1)后还要重置remain才能继续遍历,如果遍历完到了最后一个点,测试此时的剩余汽油能不能完成前面没走的路程所需要的汽油即remainCost,即可得答案。
Java:
public class Solution { public int canCompleteCircuit(int[] gas, int[] cost) { int n = gas.length; int remainCost = 0; // <0 int remain = 0; int start = 0; for(int i=0;i<n;i++) { remain+=gas[i]-cost[i]; if(remain<0) { remainCost += remain; remain=0; start = i + 1; } } return remain+remainCost>=0?start:-1; }}
0 0
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Gas Station
- Jump Game
- HDOJ 2034-人见人爱A-B java代码实现
- Spring+SpringMVC+Hibernate 基本Demo(注解、Maven管理)
- ActiveMQ CentOS集群安装部署
- 与同事闲谈中,有哪些语言陷阱应该格外注意?如何应对?
- Gas Station
- HDOJ 2018 母牛的故事 递归调用法解决
- Brackets 编辑器 12 个有用的扩展插件
- 快速排序java实现
- Windows下Mongodb安装及配置
- 石头剪刀布
- 场景切换问题:如何切换到已经打开的场景
- shuoj_1559
- RFID实验二总结