在一條環路上有 n 個加油站,其中第 i 個加油站有汽油gas[ i ],並且從第 i 個加油站前往第 i+1 個加油站需要消耗汽油cost[ i ]。
你有一輛油箱容量無限大的汽車,現在要從某乙個加油站出發繞環路一周,一開始油箱為空。
寫乙個函式求可環繞環路一周時出發的加油站的編號,若不存在環繞一周的方案,則返回-1。
注意事項:
1、資料保證答案唯一。
2、o(n)時間和o(1)額外空間
格式:
輸入行依次輸入乙個表示每個加油站的汽油的容量的陣列 gas 和乙個表示加油站之間耗油量的陣列 cost ,最後輸出可環繞一周的加油站的編號,如果不存在則返回 -1。
樣例輸入
gas = [ 1,1,3,1 ]
cost = [ 2,2,1,1 ]
樣例輸出
2思路:
演算法愛好者 演算法題 堆化 ? 待解決
給出乙個整數陣列,寫乙個函式將陣列堆化。堆化操作就是把它變成乙個最小堆陣列。對於堆陣列a,a 0 是堆的根,並對於每個 a i a i 2 1 是 a i 的左兒子並且 a i 2 2 是 a i 的右兒子。說明 什麼是堆?堆是一種資料結構,它通常有三種方法 push,pop 和 top。其中,pu...
演算法愛好者 陣列中最大的差值 ? 待解決
給 m 個陣列,每乙個陣列均為公升序,現在你可以從兩個不同的陣列中挑選兩個整數 每乙個陣列選乙個 並且計算差值。我們將兩個整數 a 和 b 之間的差定義為它們的絕對差 a b 你的任務是編寫乙個函式去找到不同陣列之間最大的差值。注意事項 1 每乙個給出的陣列長度至少為 1,至少有兩個不為空的陣列。2...
LeetCode演算法題134 加油站解析
在一條環路上有 n 個加油站,其中第 i 個加油站有汽油 gas i 公升。你有一輛油箱容量無限的的汽車,從第 i 個加油站開往第 i 1 個加油站需要消耗汽油 cost i 公升。你從其中的乙個加油站出發,開始時油箱為空。如果你可以繞環路行駛一周,則返回出發時加油站的編號,否則返回 1。說明 示例...