“沒事,你繼續,這個房間的空調太涼了,年輕人喜歡開18度,真是不懂節約用電。”
吳憂擤了擤鼻子,連續狂點了十幾下遙控器。
第三個小問,其實跟上面的大同小異,雖然不能對單鏈表中的前一個節點進行操作,但是可以對其下一個節點進行處理。
在要插入節點的后面創造一個嶄新的節點,然后把插入節點的值賦予新節點,再將需要插入節點的值賦予插入節點,最后改變兩個節點的指向即可完成。
手寫的弊端除了慢,還容易寫錯詞,像lklistsertbefore一類的長單詞,漏掉或者顛倒其中的幾個字母是很正常的事情。
在電腦上則完全不用擔心,尤其是有聯想輸入功能后,陳博專門弄了個代碼詞庫來應付長單詞拼寫帶來的困擾。
最后一問是道動態規劃,是道常規的背包裝物問題,假定一個背包載重量是,有n個物品,其重量是wi,裝入背包的物品總價值為vi,要求把物品裝入背包,并使得背包內的物品價值最大。
陳博自我感覺時間所剩無幾,這次沒寫文字,直接把代碼附上,物品只存在兩種狀態,一種是被裝進背包,另一種則是沒被裝進背包。
簡單粗暴的方法就是執行n個步驟,依次裝入1到n的物品,記錄各種不同載重下的背包能夠得到的最大價值,從中得出最優解。
實踐操作中的動態規劃遠比這復雜得多,數學意義上的最優解不一定是社會意義上的最優解,如果用動態規劃的思路籌建全國公共交通,那么廣大中西部沿線的公路交通網絡根本不可能像如今這般通達。
人設計的代碼一定不是完美無暇的,即便把一些主觀因素指標量化成某個具體數值糅合進評估整體,那么其在衡量的過程中無一例外都摻雜有人的因素。
“我寫完了。”
落筆后陳博又復查了十幾秒,沒看太仔細,簡單的題目容易翻車,而且檢查的時候盲目自信,可能看多幾遍也看不出問題。
“超時了半分鐘。”吳憂把手機上的計時器摁停。
陳博試圖辯解:“不好意思,如果是電腦答題,時間應該是足夠的。”
“沒事,讓我先過目下。”
吳憂接過寫滿答卷的紙張,離著大半個胳膊遠的距離瀏覽,他的眼睛炯炯有神,不需要借助老花鏡,絲毫不輸給二三十的年輕小伙。
暫時無事的陳博雙手擺在大腿上正襟危坐,余光掃視起周圍,這個房間堆滿了各種資料,隨便邁腳就能碰到一摞。
“你的這些技術是在哪里學的。”
聽到吳憂問自己,陳博先是一愣,隨后道:“書本上啊,這書上不是有教么?最基礎的內容。”
“最基礎的內容”吳憂低聲重復著陳博后半部分的話。
陳博意識到剛才是不是說錯話了,但轉念一想,這就是妥妥的教科書例題難度,用來幫助初學者理解入門的。
“你家里有人從事編程相關的行業么?”吳憂問。
“我祖上三代都是碼農。”陳博又發揮起胡謅本領,他不忘提一句,“不過他們的能力都退化了,現在敲個鍵盤都費勁。”
吳憂感慨道:“是啊,現在哪還需要這些,電腦輸入關鍵詞,一鍵生成,全部搞定。”
陳博不知道面試這事是涼了還是成了,總之對方問一句,自己順著回一句。
“試試吧,招個合適的不容易,你是兼職還是全職,薪水要多少。”