代碼隨想錄第三十一天|455.分發(fā)餅干、376. 擺動序列拟逮、53. 最大子序和

貪心算法:

貪心無套路撬统,局部最優(yōu)推全局最優(yōu)。

455.分發(fā)餅干

思路:

盡量大餅干給大需求

先排序敦迄,兩個數(shù)組都從小到大順序恋追。用num記錄多少個孩子吃到了餅干。如果沒有孩子或沒有餅干罚屋,直接返回苦囱。int i,j分別為兩個數(shù)組size-1。進(jìn)入循環(huán)脾猛,循環(huán)條件是還有孩子和餅干撕彤,如果孩子的需求小于等于餅干,則計數(shù)加一猛拴,孩子和餅干減一羹铅,否則孩子減一瞧柔。最后返回計數(shù)num。

看視頻后:

這里的局部最優(yōu)就是大餅干喂給胃口大的睦裳,充分利用餅干尺寸喂飽一個造锅,全局最優(yōu)就是喂飽盡可能多的小孩

無論有沒有吃到廉邑,小孩子都會減一哥蔚。因此用小孩的數(shù)組下標(biāo)作為循環(huán)條件,用餅干和小孩的匹配做判斷條件蛛蒙。

for(int?i=g.size()-1;i>=0;i--)

????????{

????????????if(index>=0?&&?s[index]>=g[i])

????????????{

????????????????result++;

????????????????index--;

????????????}

????????}

也可以小餅干喂小胃口糙箍,則循環(huán)順序變化。


376. 擺動序列

思路:

建立數(shù)組minor, int i=1牵祟。在i<nums.size()的循環(huán)內(nèi)深夯,分成三種情況:如果相差大于0,則放入差值進(jìn)minor并進(jìn)行循環(huán)尋找下一個和i-1相差小于等于0的下標(biāo)诺苹;如果相差小于0則放進(jìn)minor并進(jìn)行循環(huán)找下一個和i-1相差大于等于0的下標(biāo)咕晋;其他情況(等于0)則i++。最后返回minor.size()+1;

看視頻后:

局部最優(yōu):刪除單調(diào)坡度上的節(jié)點(不包括單調(diào)坡度兩端的節(jié)點)收奔,那么這個坡度就可以有兩個局部峰值掌呜。

整體最優(yōu):整個序列有最多的局部峰值,從而達(dá)到最長擺動序列坪哄。

只需要統(tǒng)計數(shù)組的峰值數(shù)量就可以了,因此不需要建立數(shù)組质蕉。

在計算是否有峰值的時候,大家知道遍歷的下標(biāo) i 翩肌,計算 prediff(nums[i] - nums[i-1]) 和 curdiff(nums[i+1] - nums[i])模暗,如果prediff < 0 && curdiff > 0或者prediff > 0 && curdiff < 0此時就有波動就需要統(tǒng)計。

有三種情況:

情況一:上下坡中有平坡

情況二:數(shù)組首尾兩端

情況三:單調(diào)坡中有平坡

class?Solution?{

public:

????int?wiggleMaxLength(vector<int>&?nums)?{

????????if?(nums.size()?<=?1)?return?nums.size();

????????int?curDiff?=?0;?//?當(dāng)前一對差值

????????int?preDiff?=?0;?//?前一對差值

????????int?result?=?1;??//?記錄峰值個數(shù)念祭,序列默認(rèn)序列最右邊有一個峰值

????????for?(int?i?=?0;?i?<?nums.size()?-?1;?i++)?{

????????????curDiff?=?nums[i?+?1]?-?nums[i];

????????????//?出現(xiàn)峰值

????????????if?((preDiff?<=?0?&&?curDiff?>?0)?||?(preDiff?>=?0?&&?curDiff?<?0))?{

????????????????result++;

????????????????preDiff?=?curDiff;?//?注意這里兑宇,只在擺動變化的時候更新prediff

????????????}

????????}

????????return?result;

????}

};



53. 最大子序和

思路:

1. 兩個for循環(huán)進(jìn)行遍歷,但是超時了

看視頻后:

本題貪心貪在sum如果小于0則會使新的數(shù)減小棒卷,因此如果sum<0的時候就重新從0開始計數(shù)顾孽。用result每次比較記錄較大值祝钢。

int?maxSubArray(vector<int>&?nums)?{

????????int?result=INT_MIN;

????????int?count=0;

????????for(int?i=0;i<nums.size();i++){

????????????count+=nums[i];

????????????if(count>result)

????????????????result=count;

????????????if(count<=0)

????????????????count=0;

????????}

????????return?result;

????}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末比规,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拦英,更是在濱河造成了極大的恐慌蜒什,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疤估,死亡現(xiàn)場離奇詭異灾常,居然都是意外死亡霎冯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門钞瀑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沈撞,“玉大人,你說我怎么就攤上這事雕什〔常” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵贷岸,是天一觀的道長壹士。 經(jīng)常有香客問我,道長偿警,這世上最難降的妖魔是什么躏救? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮螟蒸,結(jié)果婚禮上盒使,老公的妹妹穿的比我還像新娘。我一直安慰自己七嫌,他們只是感情好忠怖,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抄瑟,像睡著了一般凡泣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上皮假,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天鞋拟,我揣著相機(jī)與錄音,去河邊找鬼惹资。 笑死贺纲,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的褪测。 我是一名探鬼主播猴誊,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侮措!你這毒婦竟也來了懈叹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤分扎,失蹤者是張志新(化名)和其女友劉穎澄成,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡墨状,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年卫漫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肾砂。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡列赎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出镐确,到底是詐尸還是另有隱情粥谬,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布辫塌,位于F島的核電站漏策,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏臼氨。R本人自食惡果不足惜掺喻,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望储矩。 院中可真熱鬧感耙,春花似錦、人聲如沸持隧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屡拨。三九已至只酥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呀狼,已是汗流浹背裂允。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留哥艇,地道東北人绝编。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像貌踏,于是被迫代替她去往敵國和親十饥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

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