Gas Station
来源:互联网 发布:cal Linux 编辑:程序博客网 时间:2024/06/06 04:03
原题:
There are N gas stations along a circular route, where the amount of gas at station i is gas[i].
You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station’s index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.
解题:
先用gas[i]-cost[i], 然后求取连续那个元素的序列和都大于0的串,题目没有要求输出所有合适的,默认找到合适的start position就返回。可以AC的C++代码如下:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { if(gas.size() < 1 || cost.size() < 1) return -1; if(gas.size() != cost.size()) return -1; int n = gas.size(); int sum = 0, index = -1, cnt = 0; for(int i=0; i<2*n-1; i++){ sum += gas[i%n] - cost[i%n]; if(sum >= 0){ if(index < 0) index = i % n; cnt ++; }else{ sum = 0; index = -1; cnt = 0; } if(cnt == n) break; } if(cnt < n){ index = -1; } return index; }
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
- BZOJ1071
- 最小环
- java序列化
- UVA 11040 Add bricks in the wall
- mysql的mysqldump用法,重置数据库
- Gas Station
- Java学习--(十)final关键字
- Android 仿QQ首页的消息和电话的切换,首页的头部(完全用布局控制)
- SharePoint 2013 通过HttpModule 管理视图权限
- uva 11572 Unique Snowflakes
- 【LeetCode】(144)Binary Tree Preorder Traversal(Easy)
- SWFUpload多图上传代码
- UIButton设置 textAlignment 属性的方法
- iOS开发-使用Storyboard进行界面跳转及传值