做者: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/