小豬喫米的面試題——解法比較

這道題是我從網上找到的,據說是來自Exoweb,個人認爲這是一個很好的公司

在國際象棋的棋盤上面有 NxN 個格。每個格里面有若干的米粒。一隻小豬站在 1x1 的格里,小豬每次只能向高位的列或行移動。小豬會喫掉所經過的格子裏面所有的米粒。請編寫程序計算小豬能喫掉的米粒的最大值


需要說明的是,我看題的時候和後來去解題的中間隔了一段時間,一個不小心把故事的主人公搞錯了,以至於我寫的類是Chook(雞),我也更加認爲這道題概括爲小雞喫米 比較合適

還是那句話,歡迎拍磚,請大俠多多指教

上代碼

 

 

現在來看一下時間效率的對比

其實我一開始以爲使用動態規劃法應該也是線性的時間複雜度,而且和2A也有相似的思想,所以我才取名2B的,實在不好意,(最後一種方法的作者也說了是O2,但是我沒相信),不過結果出來後發現我錯了,不過仔細想想也確實是O2。

 

最後上一下主函數

至於產生隨機數和計算時間的類我就不貼了,需要可以找我要或者看前面幾篇博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章