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算法题目解答汇总 本文转自<四火的唠叨> 只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少.我的初衷就是练习, ...
随机推荐
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- [译]ZOOKEEPER RECIPES-Leader Election
选主 使用ZooKeeper选主的一个简单方法是,在创建znode时使用Sequence和Ephemeral标志.主要思想是,使用一个znode,比如"/election",每个客 ...
- TSQL Identity 用法全解
Identity是标识值,在SQL Server中,有ID列,ID属性,ID值,ID列的值等术语. Identity属性是指在创建Table时,为列指定的Identity属性,其语法是:column_ ...
- Android之常见问题集锦Ⅱ
Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextCh ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(69)-微信公众平台开发-功能概述
系列目录 为什么要先发这个文章? 因为接下来的文章是关于微信开发的系列,心中一定要有一个概念,知道自己接下来要做什么功能. 而且微信到处都是坑,我首先要把微信与本地跑通起来才敢发布,否则中间出现坑导致 ...
- Spring resource bundle多语言,单引号format异常
Spring resource bundle多语言,单引号format异常 前言 十一假期被通知出现大bug,然后发现是多语言翻译问题.法语中有很多单引号,单引号在format的时候出现无法匹配问题. ...
- Jqprint实现页面打印
好些项目需要实现页面打印,特别是一些后台管理类系统,下面介绍一款轻量级的打印插件: 1.实现页面打印要引入jQuery和Jqprint.点击下载Jqprint插件 <script languag ...
- iOS网络4——Reachability检测网络状态
一.整体介绍 前面已经介绍了网络访问的NSURLSession.NSURLConnection,还有网页加载有关的webview,基本满足通常的网络相关的开发. 其实在网络开发中还有比较常用的就是网络 ...
- TCP/IP之TCP_NODELAY与TCP_CORK
TCP/IP之Nagle算法与40ms延迟提到了Nagle 算法.这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagl ...
- Selenium-java-获取当前时间
1 获取当前时间 // 获取当前时分秒 Calendar now = Calendar.getInstance(); int is = now.get(Calendar.HOUR_OF_DAY); i ...