ji、
假设26号复试的话,只有15天复习了。
争取一个星期刷完代码随想录,最后一个星期来准备英语和重刷。
int canCompleteCircuit(int* gas, int gasSize, int* cost, int costSize) {
int sum=0;
int* oil=(int*)malloc(sizeof(int)*gasSize);
for(int i=0;i<gasSize;i++){
oil[i]=gas[i]-cost[i];
sum+=oil[i];
}
if(sum<0) return -1;
int head=0,tail=0,n=0,x=0;
while(n!=gasSize){
int t=x+oil[tail];
if(t<0){
if(head==tail){
head=(head+1)%gasSize;
tail=(tail+1)%gasSize;
}else{
n--;
x-=oil[head];
head=(head+1)%gasSize;
}
}else{
tail=(tail+1)%gasSize;
n++;
x=t;
}
}
return head;
}
结果:
标签:星期,int,gasSize,随想录,加油站,134 From: https://www.cnblogs.com/llllmz/p/18066050