LeetCode算法系列(二)

一 前言

    昨天開始了算法系列的第一篇留瞳,是有關(guān)樹的一個(gè)問題拒迅,今天給大家繼續(xù)帶來有關(guān)貪心策略的一個(gè)問題~現(xiàn)在就開始吧~

二 題目

There are N gas stations along a circular route, where the amount of gas at station i isgas[i].
You have a car with an unlimited gas tank and it costscost[i]of gas to travel from station i to its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station's index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.

題目的大致意思就是:有一個(gè)由N個(gè)加油站組成的環(huán)形路徑,第i個(gè)加油站儲(chǔ)存了gas[i]這么多的汽油她倘,你最開始有一個(gè)沒有汽油的坦克璧微,你從第i個(gè)加油站走到它的下一個(gè)i+1個(gè)加油站消耗汽油cost[i]這么多,問你是否可以找到一個(gè)站帝牡,從該站出發(fā)可以繞著該路徑兜風(fēng)一圈往毡,有的話返回該站的標(biāo)號(hào),沒有的話返回-1靶溜。

三 思路分析及代碼

我們假設(shè)坦克從N-1這站出發(fā)(也就是0后面那個(gè)开瞭,因?yàn)樗麄兪莻€(gè)環(huán)形所以首尾相接),末尾位置我們設(shè)為0罩息,也就是start = N-1嗤详,end = 0,從start開始往end的方向走瓷炮,這個(gè)時(shí)候我們設(shè)置一個(gè)變量sum用來記錄坦克油箱中還剩多少油葱色。那么開始時(shí)sum = gas[i] - cost[i],接下來是關(guān)鍵娘香,如果現(xiàn)在這個(gè)sum大于0證明坦克現(xiàn)在還有油苍狰,就可以嘗試向下一站走,也就是end++烘绽。如果sum小于0證明坦克從start開往他的下一站(針對(duì)當(dāng)前狀態(tài)就是從N-1開到0)沒有足夠的油了淋昭,那么就嘗試把start往前一站挪,也就是變?yōu)閺腘-2開始嘗試安接。不斷進(jìn)行這樣的操作翔忽,知道start <= end證明真?zhèn)€過程結(jié)束了,這時(shí)如果sum >= 0證明可以支撐坦克走完一圈,返回對(duì)應(yīng)的start位置就是結(jié)果歇式。如果sum < 0證明坦克無法走完一圈驶悟,返回-1。分析完畢材失,我們上代碼:

public:
    int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {
        int start = lens-1, end = 0;
        int sum = gas[start] - cost[start];
        while(start>end){
            if(sum>=0){
                sum += gas[end] - cost[end];
                ++end;
            }
            else{
                --start;
                sum += gas[start] - cost[start];
            }
        }
        return sum >=0 ? start: -1;
    }
};

四 后記

期待我們的下一個(gè)題目吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痕鳍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子豺憔,更是在濱河造成了極大的恐慌额获,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恭应,死亡現(xiàn)場離奇詭異,居然都是意外死亡耘眨,警方通過查閱死者的電腦和手機(jī)昼榛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剔难,“玉大人胆屿,你說我怎么就攤上這事∨脊” “怎么了非迹?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纯趋。 經(jīng)常有香客問我憎兽,道長,這世上最難降的妖魔是什么吵冒? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任纯命,我火速辦了婚禮,結(jié)果婚禮上痹栖,老公的妹妹穿的比我還像新娘亿汞。我一直安慰自己,他們只是感情好揪阿,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布疗我。 她就那樣靜靜地躺著,像睡著了一般南捂。 火紅的嫁衣襯著肌膚如雪吴裤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天黑毅,我揣著相機(jī)與錄音嚼摩,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛枕面,可吹牛的內(nèi)容都是我干的愿卒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼潮秘,長吁一口氣:“原來是場噩夢啊……” “哼琼开!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起枕荞,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤柜候,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后躏精,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渣刷,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年矗烛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辅柴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瞭吃,死狀恐怖碌嘀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情歪架,我是刑警寧澤股冗,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站和蚪,受9級(jí)特大地震影響止状,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惠呼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一导俘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剔蹋,春花似錦旅薄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矫付,卻和暖如春凯沪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背买优。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工妨马, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挺举,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓烘跺,卻偏偏與公主長得像湘纵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滤淳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)梧喷。 張土汪:刷leetcod...
    土汪閱讀 12,748評(píng)論 0 33
  • 春雨 立春雨淋漓,行人簦成群脖咐。 雨打花凋零铺敌,風(fēng)吹葉尤曳。 ...
    觸不到的微笑閱讀 439評(píng)論 0 2
  • 教師這個(gè)職業(yè)真的對(duì)學(xué)生的影響非常大屁擅,有天檢查作業(yè)時(shí)發(fā)現(xiàn)學(xué)生只寫音調(diào)沒這拼音偿凭。這個(gè)現(xiàn)象和上課時(shí)我在黑板上書寫的一樣,...
    bd54effe57dd閱讀 143評(píng)論 0 0
  • 看了看前天的會(huì)議視頻煤蹭,調(diào)整一些笔喉,準(zhǔn)備公主號(hào)發(fā)出來。仔細(xì)看了看硝皂,大家當(dāng)天都還很開心,如果每天都是這樣作谭,熱熱鬧鬧的稽物,每...
    王德彪閱讀 98評(píng)論 0 2