Top Coder算法题目浏览器
作者:Lucida
- 微博:@peng_gong
- 豆瓣:@figure9
原文链接: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)不同进行分类,以便从简单到复杂逐步练习。
TC Browser可以
- 离线浏览算法题目 -_-
- 按照算法、级别和难度过滤题目,以便逐步提高水平。
- 随机出题 -_-
TC Browser不可以
- 评判(Judge)题目,如它的名字,TC Browser只是一个题目浏览器,而非一个完整的OJ(Online Judge)。不过好在TC题目的Sample Input/Output比较全。
- 提供答案(Answer),嗯,这些题目都没有答案,所以对于初学者可能不合适。
为什么选择Top Coder?
- 大量的算法题目:TC Browser是我两年半前写的,当时有2933道题目,现在的题目只会更多。
- 题目具有良好的分类:Top Coder里的每道算法题目都有明确的分类:类型(Category)、级别(Level)、难度(Success Rate)。
- 良好的题目陈述(Problem Statement):Top Coder的题目陈述非常清晰,并且都带有若干组示例输入/输出(Sample Input/Output)。
- 题目相对实际(Practical):相对于一些OJ的纯算法题目,Top Coder里面的题目更加实际——更接近与实际的编程而非单纯的算法演练,对于非算法竞赛出身的我非常合适。
- Top Coder在线不稳定:也许是我的网络原因,我经常登陆不进Top Coder,这也是我编写离线版TC的原因之一。
使用
Top Coder术语
如果你玩过Top Coder,请跳过本节 :-)
Top Coder的题目分为两个区(Division,简称D),每个区又分为三个级别(Level,简称L),每道题目有其通过率(Success Rate)。D1难度小于D2,L1难度小于L2小于L3,通过率越高难度越低。
举例来说,一道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
- 微博:@peng_gong
- 豆瓣:@figure9
原文链接:http://zh.lucida.me/blog/top-code-offline-browser/
Top Coder算法题目浏览器的更多相关文章
- [翻译]How to Find a Solution ( 如何找到问题的答案,来自Top Coder 网站)
原文链接: https://www.topcoder.com/community/data-science/data-science-tutorials/how-to-find-a-solution/ ...
- 程序员编程艺术:第三章续、Top K算法问题的实现
程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha. 致谢:微软100题实现组,狂想曲创作组. 时间:2011年05月08日 ...
- PTA数据结构与算法题目集(中文) 7-20
PTA数据结构与算法题目集(中文) 7-20 7-20 表达式转换 (25 分) 算术表达式有前缀表示法.中缀表示法和后缀表示法等形式.日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个 ...
- 一道算法题目, 二行代码, Binary Tree
June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...
- iOS面试中常见的算法题目
一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘.(这 ...
- 【起】ACM类下为过往所做过的部分算法题目
[起]ACM类下为过往所做过的部分算法题目 几百道题,日后细细品味.
- [优化]Steamroller-freecodecamp算法题目
晚上在medium看到一篇关于找工作的文章,里面提到一个面试题目--flattening an array(扁平化数组).这我好像在哪看过!应该是freecodecamp里的算法某一题.翻了下博客记录 ...
- Map the Debris -freecodecamp算法题目
Map the Debris 1.要求 返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: ...
- LeetCode算法题目解答汇总(转自四火的唠叨)
LeetCode算法题目解答汇总 本文转自<四火的唠叨> 只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少.我的初衷就是练习, ...
随机推荐
- VM(虚拟机安装win7 提示 :units specified don't exist, SHSUCDX can't install)解决方法
改成IDE的模式
- JavaScript中Math对象的方法介绍
1.比较最值方法 比较最值有两种方法,max() 和 min() 方法. 1.1 max() 方法,比较一组数值中的最大值,返回最大值. var maxnum = Math.max(12,6,43,5 ...
- Android总结之链式调用(方法链)
前言: 最近在学习总结Android属性动画的时候,发现Android的属性动画设计采用了链式调用的方式,然后又回顾了一下了以前接触的开源框架Glide也是采用链式调用的方式,还有最近火的一塌糊涂的R ...
- 计算机程序的思维逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但 ...
- EntityFramework.Extended 支持 MySql
EntityFramework.Extended 默认不支持 MySql,需要配置如下代码: [DbConfigurationType(typeof(DbContextConfiguration))] ...
- Maven 整合FreeMarker使用
pom.xml <!-- freemarker jar --> <dependency> <groupId>org.freemarker</groupId&g ...
- Angular2 Hello World 之 2.0.0-beta.14
公司现在采用angualrjs开发一些web应用,采用的是angular1,现在angular2已经差不多了,听说最近rc6已经出来了……其实感觉好慢啊!之前也做过一些anglar2的例子,但是没有记 ...
- swift开发新项目总结
新项目用swift3.0开发,现在基本一个月,来总结一下遇到的问题及解决方案 1,在确定新项目用swift后,第一个考虑的问题是用纯swift呢?还是用swift跟OC混编 考虑到新项目 ...
- 基于SOA架构的TDD测试驱动开发模式
以需求用例为基,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段.研发准备 ...
- WINDOWS系统下MYSQL安装过程中的注意事项
1.首先MySQL的安装方式有两种:一种是MSI安装方式,很简单就像安装Windows软件一样.另外一种就是ZIP安装方式.这种相对而言比较麻烦.新手推荐MSI安装方式. 安装方式有以下两种: MSI ...