| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 930 人关注过本帖
标题:[抄道题] 加油站
取消只看楼主 加入收藏
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
结帖率:91.67%
收藏
已结贴  问题点数:100 回复次数:1 
[抄道题] 加油站
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.

环形公路上有N座加油站,第i座加油站储有gas[i]升油。
你有一辆油箱无限大的小汽车,它从第i座加油站行驶到第i+1座加油站需要耗费cost[i]升油。
假设一开始油箱内无油,请问你从第几座加油站出发可以绕环形公路一圈?
如果能,返回出发点的加油站序号(有多个的话取值最小的序号);如果不能,返回 -1。
提示,N大于等于1,也不需要考虑int的溢出问题。
函数原型 int CompleteCircuit( size_t n, const int gas[], const int cost[] );

如图
图片附件: 游客没有浏览图片的权限,请 登录注册

int gas[] = { 5, 2, 6, 3 };
int cst[] = { 4, 4, 4, 4 };
从第0座加油站出发的话,将会在到达第2座加油站前燃油耗尽;
从第1座加油站出发的话,将会在到达第2座加油站前燃油耗尽;
从第2座加油站出发的话,能绕一圈顺利回到出发点;
从第3座加油站出发的话,将会在到达第0座加油站前燃油耗尽;
所以应该返回 2。
搜索更多相关主题的帖子: otherwise solution starting 加油站 journey 
2015-08-29 13:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用azzbcc在2015-8-29 14:29:14的发言:

question: 可以逆行么????
不可以^_^
2015-08-29 14:36
快速回复:[抄道题] 加油站
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025831 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved