N個加油站問題

2021-07-11 16:00:47 字數 531 閱讀 1567

問題:城市的環形路有n個加油站,第i個加油站的油量用gas[i]來表示,你有如下的一輛車:

它的油缸是無限量的,初始是空的

它從第i個加油站到第i+1個加油站消耗油量為cost[i]

現在你可以從任意加油站開始,路過加油站可以不斷的加油,問是否能夠走完環形路。如果可以返回開始加油站的編號,如果不可以返回-1。

思路:假設起始的加油站是src,最後乙個加油站是dst,在從src出發達到下乙個加油站的油剩下sum。那麼需要能夠從src到dst中的每個點的油剩餘量都有》=0。

假設從src出發,某點的油量sum<0,那麼我們就從src-1站出發,此時達到這個「某點」的油量剩餘就是sum += gas[src-1]-cost[src-1],此時的dst將是src -1 再 -1。

code:

class solution 

else

}if(sum>=0) return src;

else return -1;

}};

參考:

加油站問題

有乙個環形軌道,上有若干加油站,一輛小車 初始時油箱為空,油箱容量無線 從某個加油站出發繞一圈,路上需要耗油,已知加油站的總油量和路上需要消耗地油量一樣多,問是否可以找到從乙個加油站出發,小車可以正常繞一圈?其實上面的題與下面的題目類似 有乙個迴圈陣列,問找出乙個數,使得從該數出發,往右的所有子陣列...

074 加油站問題(優先佇列)

加油站問題,一輛車在每個加油站可以加一定數量的油,郵箱容量沒有上限,走乙個單位的路程消耗乙個單位的油量,問汽車是否能夠到達終點,如果可以,最少加幾次油?從這個角度思考問題較方便 當汽車經過某個加油站時,只把油裝在車上,並不加入油箱。等到油箱為空時再加油,與在加油站加油的效果一致。挑戰程式競賽 第二版...

問題 B 加油站(貪心 模擬)

problem link 時間限制 1 sec 記憶體限制 128 mb 提交 43 解決 9 提交 狀態 討論版 一輛汽車加滿油後可行駛 n公里。旅途中有若干加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。請對於給定的 n和 k個加油站位置,計算最少加油次數。對於輸入資...