mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
添加 0134.加油站.md C语言版本注释
This commit is contained in:
@ -289,21 +289,26 @@ int canCompleteCircuit(int* gas, int gasSize, int* cost, int costSize){
|
||||
int curSum = 0;
|
||||
int i;
|
||||
int min = INT_MAX;
|
||||
//遍历整个数组。计算出每站的用油差。并将其与最小累加量比较
|
||||
for(i = 0; i < gasSize; i++) {
|
||||
int diff = gas[i] - cost[i];
|
||||
curSum += diff;
|
||||
if(min > curSum)
|
||||
if(curSum < min)
|
||||
min = curSum;
|
||||
}
|
||||
//若汽油总数为负数,代表无法跑完一环。返回-1
|
||||
if(curSum < 0)
|
||||
return -1;
|
||||
//若min大于等于0,说明每一天加油量比用油量多。因此从0出发即可
|
||||
if(min >= 0)
|
||||
return 0;
|
||||
//若累加最小值为负,则找到一个非零元素(加油量大于出油量)出发。返回坐标
|
||||
for(i = gasSize - 1; i >= 0; i--) {
|
||||
min+=(gas[i]-cost[i]);
|
||||
if(min >= 0)
|
||||
return i;
|
||||
}
|
||||
//逻辑上不会返回这个0
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
Reference in New Issue
Block a user