兩道算法題關(guān)于貪心算法的思考

Example One:

給定一個數(shù)組,它的第?i 個元素是一支給定股票第 i 天的價格慧瘤。

如果你最多只允許完成一筆交易(即買入和賣出一支股票)宜雀,設(shè)計(jì)一個算法來計(jì)算你所能獲取的最大利潤。

注意你不能在買入股票前賣出股票埋凯。

Example Two:

給你 n 個非負(fù)整數(shù) a1点楼,a2,...白对,an掠廓,每個數(shù)代表坐標(biāo)中的一個點(diǎn)?(i,?ai) 。在坐標(biāo)內(nèi)畫 n 條垂直線甩恼,垂直線 i?的兩個端點(diǎn)分別為?(i,?ai) 和 (i, 0)蟀瞧。找出其中的兩條線,使得它們與?x?軸共同構(gòu)成的容器可以容納最多的水条摸。

說明:你不能傾斜容器悦污,且?n?的值至少為 2。


????????我在思考第一道題目的時候钉蒲,首先想到的是維護(hù)一個遞增棧切端,因?yàn)橹灰@取利潤,買入時價格必然低于賣出的價格子巾,那么只需要在遞增棧中取首尾數(shù)據(jù)即可得到最大利潤帆赢。但這種想法很快被我拋棄了,因?yàn)楫?dāng)遞增棧中突然出現(xiàn)一個極大的值线梗,則會被我們丟棄椰于,從而無法獲取最佳解。其次我想到仪搔,找到最值瘾婿,然后相減即可;但如果出現(xiàn)最小值在最大值的右側(cè)怎么辦烤咧?

????????那么假如第 i 天買入偏陪,第 j 天(j > i)賣出,如果第 j + 1 天的價格高于第 j 天煮嫌,那么在第 j + 1 天賣出肯定賺更多的錢笛谦;假如第 j + 1 天的價格低于第 j 天但高于第 i 天,那么就不需要考慮昌阿;但假如第 j + 1 天的價格低于第 i 天饥脑,那么第 j + 1 天以后的數(shù)據(jù)就和第 i 天無關(guān)恳邀,所以后面的結(jié)果只和第 j + 1 天有關(guān)。

? ? ? ? 而第二題如果也按照第一題的貪心思路去解灶轰,則會發(fā)現(xiàn)后面數(shù)值盡管比前面的小谣沸,但因?yàn)榈走呑冮L了,所以數(shù)值上無法確定大小笋颤。這似乎用貪心算法無法解決乳附,但我們可以換一種思路。使用兩個指針伴澄,分別指向頭 i 尾 j 赋除,然后依次逼近中心。假如 i < j ,那么如果i + 1 < i非凌,那么i + 1就不需要考慮了贤重,因?yàn)楦咦冃×说滓沧冃×耍灶^指針可以往中心走近一格清焕,如此貪心法完美解決該問題并蝗!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市秸妥,隨后出現(xiàn)的幾起案子滚停,更是在濱河造成了極大的恐慌,老刑警劉巖粥惧,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件键畴,死亡現(xiàn)場離奇詭異,居然都是意外死亡突雪,警方通過查閱死者的電腦和手機(jī)起惕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咏删,“玉大人惹想,你說我怎么就攤上這事《胶” “怎么了嘀粱?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辰狡。 經(jīng)常有香客問我锋叨,道長,這世上最難降的妖魔是什么宛篇? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任娃磺,我火速辦了婚禮,結(jié)果婚禮上叫倍,老公的妹妹穿的比我還像新娘偷卧。我一直安慰自己嘿般,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布涯冠。 她就那樣靜靜地躺著,像睡著了一般逼庞。 火紅的嫁衣襯著肌膚如雪蛇更。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天赛糟,我揣著相機(jī)與錄音派任,去河邊找鬼。 笑死璧南,一個胖子當(dāng)著我的面吹牛掌逛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播司倚,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼豆混,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了动知?” 一聲冷哼從身側(cè)響起皿伺,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盒粮,沒想到半個月后鸵鸥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丹皱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年妒穴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摊崭。...
    茶點(diǎn)故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡讼油,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呢簸,到底是詐尸還是另有隱情汁讼,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布阔墩,位于F島的核電站嘿架,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏啸箫。R本人自食惡果不足惜耸彪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忘苛。 院中可真熱鬧蝉娜,春花似錦唱较、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荧呐,卻和暖如春汉形,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倍阐。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工概疆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人峰搪。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓岔冀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親概耻。 傳聞我的和親對象是個殘疾皇子使套,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評論 2 355

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