leedcode做题总结,题目Gas Station-------- 2013/09/28
来源:互联网 发布:mysql读写分离实现 编辑:程序博客网 时间:2024/06/05 20:56
一段循环的路上有N个加油站,2个数组分别是每个加油站加油量和去下一个加油站的花费量。
一开始从每个节点开始历遍一圈,果断超时。
后来想了另一种方法,假设从点A开始,如果到点M油的积累量小于0了,则必然不会从0~M区间中开始,一位车到达区间中任何一点是油箱里都有剩油,在有剩油的情况下出发到M点都没油了更何况邮箱为空的情况下出发。
所以起点暂定为(M+1)%N,如果后面又出现积累量小于0的情况需要更新M。
全部历遍完了判断总的积累量是否大于等于0,是的话就说明可以跑完一圈。
public int canCompleteCircuit(int[] gas, int[] cost) { int gas1=0; int gas2=0; int tmp=0; for(int i=0;i<gas.length;i++){ gas1=gas1+gas[i]-cost[i]; gas2=gas2+gas[i]-cost[i]; if(gas1<0){ tmp=(i+1)%gas.length; gas1=0; } } if(gas2<0)return -1; return tmp; }
0 0
- leedcode做题总结,题目Gas Station-------- 2013/09/28
- leedcode做题总结,题目Same Tree 2012/09/03
- leedcode做题总结,题目Symmetric Tree 2012/09/23
- leedcode做题总结,题目Valid Palindrome 2013/01/12
- leedcode做题总结, 题目Surrounded Regions130
- leedcode做题总结, 题目Median 80
- leedcode做题总结,题目Binary Tree Level Order TraversalI/II 2012/09/28
- leedcode做题总结,题目Binary Tree Zigzag Level Order Traversal 2012/09/28
- leedcode做题总结,题目Two Sum2011-03-13
- leedcode做题总结,题目Reorder List 13/11/12
- leedcode做题总结,题目Rotate Image 2012/03/17
- leedcode做题总结,题目Reverse Integer----- 2011/12/25
- leedcode做题总结,题目Remove Element 2012/02/16
- leedcode做题总结, 题目Permutations I/II46/47
- leedcode做题总结, 题目Longest Palindromic Substring 5
- leedcode做题总结,题目Linked List Cycle I/II 13/10/28-30
- leedcode做题总结,题目Populating Next Right Pointers in Each NodeI/II---------- 2012/10/28
- leedcode做题总结,题目Pascal's Triangle I/II-------2012/10/28
- SQL优化大总结
- UVA 10905(为什么)
- (34)DOM应用之搜索表格中的内容(多关键字搜索)
- 发大幅度会飞的
- 数据库资料网站备份
- leedcode做题总结,题目Gas Station-------- 2013/09/28
- POJ 1028
- extjs使用AJAX调用方法结束不给返回值赋值问题解决
- gcc和arm-linux-gcc区别
- Setting up a CloudStack dev environment on Windows
- 项目经验:自己写的根据时段得到日期的CalendarUtil
- Web服务
- 18.6.2 从内存输入
- 谈谈对APC的一点理解