LeetCode第 134 題 加油站 C

2021-10-25 18:15:08 字數 723 閱讀 3608

134. 加油站 - 力扣(leetcode)

先尋找起點,然後遍歷:

class solution 

if(val >= 0) return i;

}return -1;}};

其實還有乙個貪心演算法的優化:加油站 - 加油站 - 力扣(leetcode),推導很容易看懂。

total來記錄gas總數 - cost總數,total < 0:返回-1

cur用來記錄當前累計的gas[i] - cost[i],包含當前點的gas,並減去到達下一點的cost。

cur < 0,說明從起點start到當前點 i (包含 i ),中間的任何一點都不能作為出發點。因為在中間的任何一點上,都保證了cur >= 0,把它當做出發點,並不能增加到達當前點 i的汽油量,也即仍然會出現cur < 0的情況。所以需要更新出發點為當前點 i 的下乙個。

直到遍歷完成。

class solution 

}return total<0 ? -1 : start;}};

LeetCode演算法題134 加油站解析

在一條環路上有 n 個加油站,其中第 i 個加油站有汽油 gas i 公升。你有一輛油箱容量無限的的汽車,從第 i 個加油站開往第 i 1 個加油站需要消耗汽油 cost i 公升。你從其中的乙個加油站出發,開始時油箱為空。如果你可以繞環路行駛一周,則返回出發時加油站的編號,否則返回 1。說明 示例...

leetcode每日一題 134 加油站

題目 在一條環路上有 n 個加油站,其中第 i 個加油站有汽油 gas i 公升。你有一輛油箱容量無限的的汽車,從第 i 個加油站開往第 i 1 個加油站需要消耗汽油 cost i 公升。你從其中的乙個加油站出發,開始時油箱為空。如果你可以繞環路行駛一周,則返回出發時加油站的編號,否則返回 1。思路...

LeetCode貪心 134 加油站

題目描述 在一條環路上有 n 個加油站,其中第 i 個加油站有汽油gas i 公升。你有一輛油箱容量無限的的汽車,從第i 個加油站開往第i 1 個加油站需要消耗汽油cost i 公升。你從其中的乙個加油站出發,開始時油箱為空。如果你可以繞環路行駛一周,則返回出發時加油站的編號,否則返回 1。說明 示...