LeetCode 134 Gas Station
2015-12-01 18:51
399 查看
题目描述
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.
分析
如果能从i开始完成一圈,那么:sum(gas[0..end])>=sum(cost[0..end])sum(gas[0..end])>=sum(cost[0..end])
sum(gas[0..i−1])<=sum(cost[0..i−1])sum(gas[0..i-1])<=sum(cost[0..i-1])
代码
[code] public static int canCompleteCircuit(int[] gas, int[] cost) { int start = 0; int from_start = 0; int total = 0; for (int i = 0; i < cost.length; i++) { int left = gas[i] - cost[i]; total += left; from_start += left; if (from_start < 0) { from_start = 0; start = i + 1; } } if (total >= 0) { return start; } return -1; }
相关文章推荐
- error C2011: “XXX”:“class”类型重定义
- Android 虚线分割线
- 蓝桥杯OJ刷题日记——06-基础练习 杨辉三角形
- BZOJ 1489: [HNOI2009]双递增序( dp )
- 1.加载和运行
- 【思维】LightOj Fibsieve`s Fantabulous Birthday 1008
- Macromedia Fireworks V8.0 简体中文版
- 未排序正数数组中累加和为给定值的最长子数组长度
- 定义一个结构体变量,计算该日在本年中是第几天?
- Codeigniter集成PHPExcel
- 解决一些android studio 中的编码问题
- 通过OpenStack来管理VMware虚拟化集群
- Excel批量插入多行
- Emmet(Zen coding)HTML代码使用技巧七则
- class sun.reflect.NativeMethodAccessorImpl请问这个类在哪里啊
- 映射断开网络驱动器
- 冒泡排序
- Java基本数据类型
- JAVA_Se异常的学习总结
- spark-shell on yarn 出错解决【启动命令bin/spark-shell --master yarn-client出现错误,类ExecutorLauncher 找不到】