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。說明 示...