zz from: http://www.zhihu.com/question/25574458
国内有哪些好的刷题网站?
16 个回答
- ZOJ :: Home 浙江大学的Online Judge。ZOJ用的不多,但为数不多的几次体验好像都还可以,值得尝试。
- Welcome to Hangzhou Dianzi University Online Judge 杭州电子科技大学的OJ。杭电OJ在近几年取代了POJ,成为是目前国内最主流的OJ。它的题目丰富,难度梯度合理,广受全国各大高校的青睐。每年也会有大大小小的比赛挂在杭电的OJ上举办,去年的亚洲区网络赛也是在这上面做的。由此可见其在国内广大ACMer心目中的地位。也正因为如此,网上hdu的解题报告也很多,适合个人进阶训练。
- UVa Online Judge 西班牙Valladolid大学的Online Judge。是最古老也是全世界最知名的Online Judge,题库有详细的分类:如世界总决赛题目,刘汝佳的题目等等。题目目类型非常广泛。绝大部分的题目难度偏易,适合初学者磨练程序设计。
- Timus Online Judge URAL是一个俄罗斯的在线题库。里面的题目相比国内一些OJ来说颇有些难度,我们学校集训队老队员喜欢拿这里的题出给新队员做,可见有一定的进阶作用。
- Sphere Online Judge (SPOJ) SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的选手练习,对高手而言也是个提高能力的良好平台。传说君临天下的楼教主刷完了这个OJ?(更正:楼教主刷完的是SGU,感谢 @康Connor 指正)更多介绍见博客: SPOJ简介 - 海山。
- USA Computing Olympiad USACO是美国中学生的官方竞赛网站、美国著名在线题库,专门为信息学竞赛选手准备;做题方式模拟正式比赛,采用标准测评机、文件输入输出、直接提交程序源文件的测评方式;网站的Training题目全面,是学习信息学不可不知的网站,每年 NOI, NOIP 都会参考上面的题目;每道题附有详细题解,可查看测试数据和运行结果,便于调试、发现错误并改正。
采用章节递进的层次结构,由易到难,讲授知识、练习编程结合,题目必须依次完成,避免了只挑简单题做的行为;各章节犹如一本竞赛辅导书,形成了一个鲜明的知识结构,利于OI初学者和高手逐步提高水平,充分学习信息学各方面知识,避免偏颇。(来源: usaco_百度百科)
- Saratov State University :: Online Contester 之前上SGU一直是404,所以不敢贴上来。现在亲测能上了就也放上来给大家看看吧。这个是货真价实的楼教主刷完的OJ。楼教主为什么要刷这个OJ而不刷这个回答里的其他OJ呢?因为这个OJ确实适合提升水平,应该跟Ural, SPOJ的难度相当。另外就不太了解了,在我心目中,SGU, Ural, SPOJ都适合区域赛冲金以及毕业想去Google等顶级公司的ACMer/Coder训练,三者区别不大。
- Codeforces Codefores是俄罗斯的一个算法竞赛网站,由 Saratov State University 创办和维护。Codeforces主要强调的是算法竞赛,每隔1个礼拜左右就会有定期的线上比赛举行,其题库也是由每场比赛的题目一场场积累下来的。相比上面几个以题库为核心的OJ,Codeforces的算法竞赛比较适合锻炼自己的临场发挥和压力下编程能力。
- HUSTOJ 华中科技大学的Online Judge。hustOJ也和主流的其他OJ一样有着丰富的题库。但它主要的用处,是它所提供的这么一个叫做vjudge的东西,全称叫做Virtual Judge。通过vjudge,你可以从各大OJ、包括但不限于上述的所有OJ中直接抽取题目,利用这些题目创建一个属于你自己的比赛。非常适合专题训练、日常集训以及小伙伴们一起比赛切题玩。
- LeetCode Online Judge 与很多OJ不同,leetcode是一个主要面向面试者的OJ (LeetCode OJ is a platform for preparing technical coding interviews)。上面的题目不多,目前只有152道,很多都是许多大公司的面试题目。题目类型偏基础,基本不会考察复杂的算法,很多都是对基础知识的应用,难度与topcoder div1 250或codeforces div1 A题难度相当。如果是希望练习编程基础或准备公司面试的话非常推荐此OJ(感谢室友/集训队大神/CMU准硕士 @yun peng 同学提供Leetcode介绍 (1/1/2015更新:室友拿了google的offer不去CMU了))。
- 大视野在线测评·欢迎您 感谢评论区 @秋长泽建议,添加BZOJ。
希望对题主有帮助。
(转载,求带上公众号二维码。。。。)
刷题也就这么点地方
1Leetcode
鼎鼎大名的Leetcode,据不完全统计在上面被刷过的题可以围绕地球三圈。(没说赤道哈,就是这么严谨。)总之,很多国内外的码农在上面刷题。难度从easy到hard都有,而且覆盖面极广。现在还增加了数据库和shell,相匹配的论坛也可以多看看。很锻炼和国外码农沟通的能力,对于以后去混Github也有好处。
特点:各种语言支持很广泛,题型覆盖很广,测试数据集较弱。
2Codility
同样一家著名的国外刷题网站。和Leetcode不同,它是专门帮各大软件公司笔试用的,只是副业提供了一些面试题和挑战。但即使是训练模式都非常经典,很值得一做。而且测试数据集提供的非常完善,总能让你有想不到的边界情况。Take our free programming lessons
特点:很接近面试题的风格,训练模式也基本够用。
3Lintcode
可以称作中文版本的Leetcode,个人感觉最高难度比Leetcode高一些。这两个类似的网站,可以配套来刷。每个刷一遍,也能保持新鲜感。
特点:中文支持很好,和Leetcode有一部分题类似,可以和九章算法课程配合使用。
4Hihocoder
来自于原北京大学POJ开发团队,网站一直在进步。最早是微软的在线笔试网站,现在网易也使用它进行在线笔试。题目侧重于较难题目,风格很像ACM比赛,要自己注意数据集的输入输出。
特点:每周一道算法题极难又有趣,可以用来扩展面试题思路。而且是网易、微软的在线笔试网站,有机会需要多练习。
5CC150
这不是网站,这是一本书。全称Cracking the coding interview,是国外找工作的神书,而且的确写的很好。里面除了算法题,还有计算机基础知识等内容,很不错。适合想去外企的人仔细阅读,而且最新版已经比150题多了。总之,外企必备!
特点:外企必备!外企必备!外企必备!想去外企的人,多看看书的配套答案也是好的
结论:
最后,经过公众号作者小分队的讨论,根据不同方向的工作,我们建议按照以下方式刷题:
国企、银行、科研单位Leetcode简单、中等难度最好刷一遍,有时间再过一遍思路。
创业公司Leetcode全部难度上机刷一遍,然后把不会的题纸上在重新写一下。
国内互联网Leetcode全部难度上机刷一遍,纸上再写一遍。同时尽量涉及难度较高的平台(Codility),或者多去几家公司面试,以赛代练。
国内外企Leetcode至少全难度刷一遍,CC150纸上写一遍。想提高Microsoft/Google等在线笔试通过率的,多去玩玩Hihocoder等在线笔试平台。
外企总部Leetcode困难程度烂熟于心,尽量达到ACM入门标准,甚至稍高一点比较有把握。
最后欢迎大家关注我们的公众号。 看一群在IT圈混的人的碎碎念。

(转载,求带上公众号二维码。。。。)
POJ Welcome To PKU JudgeOnline
HDOJ Welcome to Hangzhou Dianzi University Online Judge
这三个是主流,挑一个认真做,足够了
Virtual Judge is not a real online judge. It can grab problems from other regular online judges and simulate submissions to other online judges. It aims to enable holding contests when you don't have the test data.我舍友扔给我的,各种题库都可以找到,刷《入门经典》的时候一直在用,比那个从来打不开的UVa好太多了。
题目说的是:国内有哪些比较好的刷题网站,回答里面主推的都是一些国外的OJ,当然其实国外的有些更权威更全面。但是根据题主的意思找国内OJ目测是因为想要找中文题目,因此答案里面做了一下简单的分类。(个人眼界有限,只说说自己用的那几个OJ,别的也不清楚。)
国内:
1.HDUOJ(杭电OJ)
目前国内最权威的OJ,虽然觉得它长得有点磕碜人(个人感觉´´ิ∀´ิ` )。有题目分类,题目数量很多。配套BestCoder每周六有比赛,模式类似于Codeforces。语言大部分都是英文题,有中文题但是比较少。BestCoder题目每次都有中英文两个版本。网上题解多。
2.POJ
不多说,经典但是个人了解不多。
3.ZOJ
同上
4.51nod
有算法马拉松赛,题目也有难度等级划分,题目大多是中文。
5.Codevs
界面挺好看。特色是天梯等级制度,题目按难度划分等级。同时题目分类和难度划分也做的非常到位,题目可以按照算法数据结构之类方式分类。题目数量比较多,全是中文题。
vj就不说了。
国外:
1.CodeForces
俄罗斯一个大学运行维护的一个OJ,ratting制度,经常办比赛
2.Uva
其它国外的也不清楚了 。无论选哪个OJ,多做题才是王道。厉害了去哪里都能称霸,不行了做多少个OJ也是无用。建议先盯准一个,其它为辅(比如说偶尔去打打比赛什么的),先刷到一定数量再说。
AC大法好。
人人都知道。
官网介绍:
LeetCode OJ is a platform for preparing technical coding interviews. Pick from an expanding library of more than 190 questions, code and submit your solution to see if you have solved it correctly. It is that easy! Our platform currently supports a total of 9 languages: C, C++, Java, Python, C#, JavaScript, Ruby, Bash, MySQL.
带点私货:
https://github.com/moranzcw/LeetCode
最近也在刷Leetcode,尽自己能力去写题解。