我是靠谱客的博主 舒适自行车,这篇文章主要介绍《leetcode-go》环形路加油站,现在分享给大家,希望可以做个参考。

环形路上有n个加油站,第i个加油站的汽油量是gas[i].

你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。

求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。

注意:

答案保证唯一。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main /** * * @param gas int整型一维数组 * @param cost int整型一维数组 * @return int整型 */ func canCompleteCircuit( gas []int , cost []int ) int { // write code here num := len(gas) var leftCnt int var lastCnt int begin := 0 for i := 0; i < num; i++ { leftCnt += gas[i] - cost[i] if leftCnt < 0 { lastCnt += leftCnt leftCnt = 0 begin = i + 1 } } if leftCnt+lastCnt < 0 { return -1 } return begin }

 

最后

以上就是舒适自行车最近收集整理的关于《leetcode-go》环形路加油站的全部内容,更多相关《leetcode-go》环形路加油站内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部