W公司2016春招筆試

難度:★★★★

不得不說某公司真低調(diào),這樣就不說是什么公司了。筆試的形式很簡單,兩道題仆嗦,在 3 天內(nèi)完成其中的一道。于是也就分享其中一道吧……

第一道題:最大價值鏈

這道題使我想起了以前在 POJ 里做過的一道題先壕。給定一個迷宮(矩陣)瘩扼,負(fù)值代表墻,從右下角開始垃僚,累加走過的路(不可回頭)集绰,直到走到最右邊(或者右上角)。并且谆棺,這個題還有一個『傳送』功能栽燕,當(dāng)向下穿越到上面的時候,當(dāng)前結(jié)果清零改淑,以下一步的方案計算收益碍岔。

這道題一看就是動態(tài)規(guī)劃的思想,但是怎么個動態(tài)規(guī)劃法朵夏,還是值得商量的蔼啦。一開始開錯題。由于不可以向左走侍郭,所以往右走就是自由的询吴。但是如果往上走或者往下走,下一步就不能是上一個動作的相反方向了亮元。

既然是動態(tài)規(guī)劃,那么我們就考慮一下狀態(tài)方程吧…… 設(shè)當(dāng)前坐標(biāo)為 $(x, y)$ 唠摹、方向為 $d$爆捞。那么遞推方程就是:

$$ F(x,y,d)= \begin{cases}
M_{(x,y)}+\max\{ F(i+1,j,0), F(i, j-1,1), F(i,j+1,2) \}, & d=0 \\
M_{(x,y)}+\max\{ F(i+1,j,0), F(i,j-1,1) \}, & d=1 \\
M_{(x,y)}\max\{ F(i+1,j,0), F(i,j+1,2) \}, & d=2
\end{cases} $$

并且,

$$ d = \begin{cases} 0, \text{from right} \\ 1, \text{from up} \\ 2, \text{from down} \end{cases} $$

好像有什么不對——還沒有考慮邊界的情況(穿越)勾拉,如果考慮穿越煮甥,而且不能走重復(fù)的路盗温,那么情況就復(fù)雜很多了。

那么我們再定義三個執(zhí)行條件:

  1. 如果沒有路了成肘,即遇到的方塊 $M_{(x,y)}=-1$ :
    1. 如果在邊界卖局,返回 0 ;
    2. 如果不在邊界双霍,返回 -1 (死胡同)砚偶;
  2. 否則,
    1. 如果不在邊界洒闸,嘗試向上染坯、下、右的順序丘逸,按照上述狀態(tài)方程找路单鹿;
    2. 如果當(dāng)前是邊界,并且上一步?jīng)]找到路線深纲,則設(shè)置此刻最大的價值是自身仲锄;
    3. 如果在邊界,嘗試穿越湃鹊,并與上一步獲得的值對比儒喊,取最大值。

如果考慮上 $(x,y)$ 的穿越問題涛舍,那么就困難很多了澄惊。另外,穿越以后富雅,還可能出現(xiàn)走重復(fù)的路的可能掸驱。這樣就會導(dǎo)致死循環(huán)。因此没佑,這里要考慮的不僅僅是最大價值毕贼,還有非重復(fù)路線,即維護(hù)一個走過路線的集合蛤奢。

寫了近一晚才勉強(qiáng)跑出來鬼癣,Java 和 C++ 的非多值返回算法,使得這份代碼傳遞了很多『輸出參數(shù)』啤贩,調(diào)試很不容易……做完都不知道有沒有漏掉情況待秃。

小結(jié)

總的來說,這次筆試題很考算法的基礎(chǔ)知識痹屹、對細(xì)節(jié)的捕捉和縝密的邏輯章郁,這道題初看就是 Medium 類型的,但是實際上難度系數(shù)還是很高的志衍。

再感嘆一下暖庄,這家公司真的很低調(diào)聊替。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市培廓,隨后出現(xiàn)的幾起案子惹悄,更是在濱河造成了極大的恐慌,老刑警劉巖肩钠,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泣港,死亡現(xiàn)場離奇詭異,居然都是意外死亡蔬将,警方通過查閱死者的電腦和手機(jī)爷速,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霞怀,“玉大人惫东,你說我怎么就攤上這事”惺” “怎么了廉沮?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長徐矩。 經(jīng)常有香客問我滞时,道長,這世上最難降的妖魔是什么滤灯? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任坪稽,我火速辦了婚禮,結(jié)果婚禮上鳞骤,老公的妹妹穿的比我還像新娘窒百。我一直安慰自己,他們只是感情好豫尽,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布篙梢。 她就那樣靜靜地躺著,像睡著了一般美旧。 火紅的嫁衣襯著肌膚如雪渤滞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天榴嗅,我揣著相機(jī)與錄音妄呕,去河邊找鬼。 笑死嗽测,一個胖子當(dāng)著我的面吹牛趴腋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播论咏,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼优炬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厅贪?” 一聲冷哼從身側(cè)響起蠢护,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎养涮,沒想到半個月后葵硕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡贯吓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年懈凹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悄谐。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡介评,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出爬舰,到底是詐尸還是另有隱情们陆,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布情屹,位于F島的核電站坪仇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垃你。R本人自食惡果不足惜椅文,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惜颇。 院中可真熱鬧皆刺,春花似錦、人聲如沸官还。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽望伦。三九已至林说,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屯伞,已是汗流浹背腿箩。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留劣摇,地道東北人珠移。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钧惧。 傳聞我的和親對象是個殘疾皇子暇韧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

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