作者: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)不同进行分类,以便从简单到复杂逐步练习。

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,请跳过本节 :-)

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

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

Top Coder算法题目浏览器的更多相关文章

  1. [翻译]How to Find a Solution ( 如何找到问题的答案,来自Top Coder 网站)

    原文链接: https://www.topcoder.com/community/data-science/data-science-tutorials/how-to-find-a-solution/ ...

  2. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

  3. PTA数据结构与算法题目集(中文) 7-20

    PTA数据结构与算法题目集(中文)  7-20 7-20 表达式转换 (25 分)   算术表达式有前缀表示法.中缀表示法和后缀表示法等形式.日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个 ...

  4. 一道算法题目, 二行代码, Binary Tree

    June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...

  5. iOS面试中常见的算法题目

    一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘.(这 ...

  6. 【起】ACM类下为过往所做过的部分算法题目

    [起]ACM类下为过往所做过的部分算法题目 几百道题,日后细细品味.

  7. [优化]Steamroller-freecodecamp算法题目

    晚上在medium看到一篇关于找工作的文章,里面提到一个面试题目--flattening an array(扁平化数组).这我好像在哪看过!应该是freecodecamp里的算法某一题.翻了下博客记录 ...

  8. Map the Debris -freecodecamp算法题目

    Map the Debris 1.要求 返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: ...

  9. LeetCode算法题目解答汇总(转自四火的唠叨)

    LeetCode算法题目解答汇总 本文转自<四火的唠叨> 只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少.我的初衷就是练习, ...

随机推荐

  1. Code Review 程序员的寄望与哀伤

    一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...

  2. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  3. Partition:Partiton Scheme是否指定Next Used?

    在SQL Server中,为Partition Scheme多次指定Next Used,不会出错,最后一次指定的FileGroup是Partition Scheme的Next Used,建议,在执行P ...

  4. Hyper-V3:虚拟机的配置

    在Hyper-V成功新建一台虚拟机,在正式使用之前,必须配置VM使用的硬件资源,并授予用户访问VM的权限等,本文罗列出一些常见的配置,供读者参阅. 一,为虚拟机分配使用的内存 在Hyper-V Man ...

  5. 23种设计模式--责任链模式-Chain of Responsibility Pattern

    一.责任链模式的介绍 责任链模式用简单点的话来说,将责任一步一步传下去,这就是责任,想到这个我们可以相当击鼓传花,这个是为了方便记忆,另外就是我们在项目中经常用到的审批流程等这一类的场景时我们就可以考 ...

  6. 基于fis3的组件可视化道路

    首先说明一下,即使不熟悉fis3,阅读文本应该也会有所收获. 本文以fis-parser-imweb-tplv2插件为模板插件,目的不在于使用哪个模板,而是组件可视化的实现思路,不必担心. 先说说模板 ...

  7. SAP CRM 用户界面对象类型和设计对象

    在CRM中的用户界面对象类型的帮助下,我们可以做这些工作: 进行不同的视图配置 创建动态导航 从设计层控制字段标签.值帮助 控制BOL对象的属性的可视性 从导航栏访问自定义组件 一个用户界面对象类型之 ...

  8. Set up VLAN (802.1q) tagging on a network interface?

    SOLUTION VERIFIED October 13 2015 KB39674 KB741413 environment Red Hat Enterprise Linux 4 Red Hat En ...

  9. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  10. C#编写windows服务,多服务为什么只启动一个(ServiceBase.Run)

    https://zhidao.baidu.com/question/380395667.html //多服务一个宿主程序时必须注间以下要点: Service1的ServiceName 必须 Insta ...