第一第二題ac了,最后一題暴力騙分20%,沒(méi)時(shí)間細(xì)想了第一題,猴子摘桃 簽到題輸入n和兩個(gè)長(zhǎng)度為n的數(shù)組a,ba表示每顆樹(shù)的高度b表示樹(shù)上果子的高度小紅(猴子)從第一顆樹(shù)的第0高度開(kāi)始,每次可以進(jìn)行兩個(gè)操作,1)高度加一或減一;2)移動(dòng)到下一顆樹(shù)的同等高度(要確保在下一顆樹(shù)的高度范圍內(nèi))求小紅摘完全部果實(shí)的最小操作次數(shù)逐步模擬就行了,一次遍歷,注意變量類(lèi)型為long,不然只能過(guò)10%第二題,圍圈圈n個(gè)人圍成一圈,每個(gè)人只記得自己右手邊的兩個(gè)人,分別為a和b(ab并不一定按順序)求圍成一圈的人的順序也算是模擬吧,從第一個(gè)人開(kāi)始,每次確定下一個(gè)人是誰(shuí),一次遍歷。注意特判n==3的時(shí)候,直接輸出1 2 3,否則程序可能輸出1 3 2,他們兩的輸入是一樣的,但是判題器不認(rèn)為1 3 2是對(duì)的,屬于小bug,不特判的話(huà)輸出了1 3 2只能過(guò)94%第二題詳細(xì)一點(diǎn)的思路就是先確定第一個(gè)人為1(任何人都可以)然后依次看第idx個(gè)人i的右邊兩個(gè)人a[i]和b[i]是不是分別在對(duì)方的右邊,如果a[i]==a[b[i]]或a[i]==b[b[i]],那么說(shuō)明a[i]在b[i]右邊,則i的右邊順序?yàn)閎[i],a[i],反之則為a[i],b[i],那么i的下一個(gè)人就確定了,然后再去看idx+1第三題,最長(zhǎng)遞增子數(shù)組有兩個(gè)長(zhǎng)度為n的數(shù)組a,b和一個(gè)空數(shù)組c,現(xiàn)在可以每次從a或者b的開(kāi)頭將一個(gè)數(shù)字放入c中,直到a和b為空。求能夠所有可能的c中最長(zhǎng)遞增子數(shù)組長(zhǎng)度最長(zhǎng)遞增子數(shù)組:遞增數(shù)組,且相鄰元素差值為1直接暴力騙分過(guò)了20%,枚舉所有a和b的升序子數(shù)組,將他們合并,看是否為遞增子數(shù)組,講道理順著我這個(gè)思路復(fù)雜度應(yīng)該可以再優(yōu)化,不過(guò)因?yàn)橄茸龅乃惴},最后沒(méi)多少時(shí)間了,騙了點(diǎn)分就去做選擇題了后面想了一下,可以用兩個(gè)滑動(dòng)窗口來(lái)優(yōu)化,不過(guò)也挺復(fù)雜的就是了蹲大佬的思路