Top Coder算法題目瀏覽器

做者:Lucida面試

原文連接:http://zh.lucida.me/blog/top-code-offline-browser/算法

關於

左耳朵耗子在最近發了一條關於leetcode的微博:編程

微博截圖

佩服之餘,想起本身兩年前找工做時隨手寫的一個小程序:Top Coder算法題目瀏覽器,硬盤裏翻了翻沒找到,因而找師弟要了一份copy,截了幾張圖放到微博上。小程序

微博截圖

沒想到很多人表示很感興趣,還有些同窗留下郵箱索要這個算法題目瀏覽器——我是懶的一個個發郵箱,因此乾脆放到博客上,順便提升下訪問量 :)瀏覽器

介紹

TC Browser

TC Browser:全稱Top Coder offline Browser,是我爲了方便本身練習算法題目而花一下午製做的Windows小程序。網絡

TC Browser內置2933道算法題目,這些算法題目覆蓋動態規劃(Dynamic Programming)、遞歸(Recursion)、迭代(Iteration)、暴力(Brute Force)和圖論(Graph Theory)等17個分類,並按照級別(Level)不一樣和難度(Success Rate)不一樣進行分類,以便從簡單到複雜逐步練習。dom

TC Browser能夠

  • 離線瀏覽算法題目 -_-
  • 按照算法、級別和難度過濾題目,以便逐步提升水平。
  • 隨機出題 -_-

TC Browser不能夠

  • 評判(Judge)題目,如它的名字,TC Browser只是一個題目瀏覽器,而非一個完整的OJ(Online Judge)。不過好在TC題目的Sample Input/Output比較全。
  • 提供答案(Answer),嗯,這些題目都沒有答案,因此對於初學者可能不合適。

爲何選擇Top Coder

  1. 大量的算法題目:TC Browser是我兩年半前寫的,當時有2933道題目,如今的題目只會更多。
  2. 題目具備良好的分類:Top Coder裏的每道算法題目都有明確的分類:類型(Category)、級別(Level)、難度(Success Rate)。
  3. 良好的題目陳述(Problem Statement):Top Coder的題目陳述很是清晰,而且都帶有若干組示例輸入/輸出(Sample Input/Output)。
  4. 題目相對實際(Practical):相對於一些OJ的純算法題目,Top Coder裏面的題目更加實際——更接近與實際的編程而非單純的算法演練,對於非算法競賽出身的我很是合適。
  5. Top Coder在線不穩定:也許是個人網絡緣由,我常常登錄不進Top Coder,這也是我編寫離線版TC的緣由之一。

使用

Top Coder術語

若是你玩過Top Coder,請跳過本節 :-)code

Top Coder的題目分爲兩個區(Division,簡稱D),每一個區又分爲三個級別(Level,簡稱L),每道題目有其經過率(Success Rate)。D1難度小於D2,L1難度小於L2小於L3,經過率越高難度越低。blog

舉例來講,一道D1L1SR50的題目適合初學者練習,一道D2L2SR30的題目就可能須要至關的算法水準才能搞定。遞歸

我如何使用TC Browser

在找工做初期,個人算法水平很是拙計,因而我所練習的題目大多都是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/

相關文章
相關標籤/搜索