做者:Lucida面試
原文連接:http://zh.lucida.me/blog/top-code-offline-browser/算法
左耳朵耗子在最近發了一條關於leetcode的微博:編程
佩服之餘,想起本身兩年前找工做時隨手寫的一個小程序:Top Coder算法題目瀏覽器,硬盤裏翻了翻沒找到,因而找師弟要了一份copy,截了幾張圖放到微博上。小程序
沒想到很多人表示很感興趣,還有些同窗留下郵箱索要這個算法題目瀏覽器——我是懶的一個個發郵箱,因此乾脆放到博客上,順便提升下訪問量 :)瀏覽器
TC Browser:全稱Top Coder offline Browser,是我爲了方便本身練習算法題目而花一下午製做的Windows小程序。網絡
TC Browser內置2933道算法題目,這些算法題目覆蓋動態規劃(Dynamic Programming)、遞歸(Recursion)、迭代(Iteration)、暴力(Brute Force)和圖論(Graph Theory)等17個分類,並按照級別(Level)不一樣和難度(Success Rate)不一樣進行分類,以便從簡單到複雜逐步練習。dom
若是你玩過Top Coder,請跳過本節 :-)code
Top Coder的題目分爲兩個區(Division,簡稱D),每一個區又分爲三個級別(Level,簡稱L),每道題目有其經過率(Success Rate)。D1難度小於D2,L1難度小於L2小於L3,經過率越高難度越低。blog
舉例來講,一道D1L1SR50的題目適合初學者練習,一道D2L2SR30的題目就可能須要至關的算法水準才能搞定。遞歸
在找工做初期,個人算法水平很是拙計,因而我所練習的題目大多都是D1L2和D1L3,SR>40的題目,同時根據往屆師兄師姐的面試經驗,我會重點練習動態規劃、遞歸、字符串操做和搜索這幾個類型的題目。
到了中後期,隨着經驗的累計,我開始練習D1L3的題目,並嘗試一些D2L1的題目。
到了最後,就開始使用Random模式——從D2L1和D2L2中隨機出一道題目而後思考解決思路,想出來以後再隨機下一道。
爲了練習方便,我爲TC Browser加了一個作題模式——其實就是把題目選擇區隱藏,這樣就能夠方便的雙窗口操做。
順便提一句,TC Browser左上角的Config、Switch Mode和About三個按鈕只有Switch Mode能用——一個按鈕,三倍情懷。
就個人面試經驗來講,D2L1的題目已經至關夠用了——絕大多數的編程題目都沒有超過D1L3的難度,要知道面試只有45分鐘,搞那些驚天地泣鬼神的算法題目面試官和麪試者誰都受不了。
但也要注意,我沒有算法競賽背景,因此面試官不會問太難的題目,但對於那些算法競賽選手就是另外一種狀況了——面試官須要用更難的題目來確認你是一個合格的算法選手,正所謂道高一尺,魔高一丈。
因此下載地址在這裏:網盤地址
解壓密碼是宇宙的終極答案(The ultimate anwser to the universe)。
謝謝試用,至於代碼能夠自行反編譯閱讀(寫的翔通常仍是不讀爲好),恕不贅述。
做者:Lucida
原文連接:http://zh.lucida.me/blog/top-code-offline-browser/