由于gas总量大于cost总量时,一定可以绕所有城市一圈。
第一种解法:
假设一开始有足够的油,从位置i出发,到位置k时剩余的油量为L(i,k)。
对任意的k,L(i,k)根据i的不同,只相差常数。
我们只需要找到最小的L(0, k)对应的k,k+1为所求。
代码如下:
int canCompleteCircuit(vector &gas, vector &cost) {
...
分类:
其他好文 时间:
2014-10-09 01:33:38
阅读次数:
175
首先是这么一段代码(例一):#include<stdio.h>
voidmain()
{
charc;
//inttmp;
char*s="abcdefg";
asm("movb%1,%0\n\t"
:"=d"(c)
:"m"(*s));
printf("out:%c\n",c);
}这段代码运行后会出现什么结果呢?很显然,是out:a但是"m"(*s)是什么意思呢?s是字符串指针,现在是..
分类:
其他好文 时间:
2014-10-06 23:10:21
阅读次数:
271
紧接上一篇博文,上篇写的是用GAS汇编调用C语言,这次讲用C语言调用GAS汇编。在内核编写中主要用的是前者,但是在日常程序优化中,主要用的是后者。还是同样的功能,实现两个数值的交换,把参数从C语言传递进汇编,再用C语言接收从汇编函数返回的返回值,返回值又分为普通整数..
分类:
编程语言 时间:
2014-10-05 15:39:29
阅读次数:
274
Blum的书上只讲了C语言调用汇编,没讲汇编调用C语言。我自己尝试了下。最终试验成功了,在此写出与大家分享。期间历经无数错误,无数异常,我不是醉了,而是跪了。。。好在最后好了。程序实现一个换值功能,在main.s里定义a=10,b=20,然后调用C语言函数把a,b换值。新建两个文..
分类:
编程语言 时间:
2014-10-04 00:01:16
阅读次数:
331
//假设sum为总的耗油量,max为起始点a到终点b的耗油量,如果,当到达b的时候,
//max < 0,那么,出发点肯定不能从a开始,这个时候将max = 0,然后,pos = i+1,选择pos为起始点,然后继续遍历。
//如果,最后的sum = 0,则返回pos.
class Solution {
public:
int canCompleteCircuit(std::vector ...
分类:
其他好文 时间:
2014-09-27 15:36:29
阅读次数:
198
LinkedIn 高频题 – Maximum Sum/ProductSubarrayMaximum Sum Subarray是leetcode原题,跟Gas Station的想法几乎一模一样。解答中用到的结论需要用数学简单地证明一下。123456789101112public int maxSubA...
分类:
其他好文 时间:
2014-09-25 13:16:18
阅读次数:
223
第一步:创建Store数据源
var myData = [];
myData.push({ 'name': '1', 'Oil_Production': '30', 'Water_Injection': '55', 'Gas_Production': '23' });
myData.push({ 'name': '2', 'Oil_Production': '20', 'Wa...
分类:
Web程序 时间:
2014-09-19 15:38:55
阅读次数:
262
原题地址:https://oj.leetcode.com/problems/gas-station/题意:There areNgas stations along a circular route, where the amount of gas at stationiisgas[i].You ha...
分类:
编程语言 时间:
2014-09-14 11:19:36
阅读次数:
221
题意很清晰,每个加油站有一定的油,到下一个站需要消耗一定的油量,这个关系是固定的,这样我们就可以用一个数组来表示汽车到每个加油站以及接下来一段路程增加的油量,即gas[i]-cost[i]; 例如:gas 5 0 9 4 3cost 6 7 5 9 5 seq -1 -7 4 -5 -2这就变成了....
分类:
其他好文 时间:
2014-09-11 23:37:12
阅读次数:
224
leetcode 经典短小难题 Gas Station ,很好算法思想。...
分类:
其他好文 时间:
2014-09-11 13:56:32
阅读次数:
191