国内有哪些好的刷题网站?

本人现在正在学习数据结构与算法,想通过刷题练习一下分析问题,解决问题的能力。请问国内有哪些好的刷题网站?
关注者
7147
被浏览
311948

38 个回答

- Welcome To PKU JudgeOnline 北京大学的Online Judge。POJ上面的题目有点老了,但好处是做的人多,经典算法题多,解题报告也多,适合上手。

- 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题目全面,是学习信息学不可不知的网站,每年NOINOIP 都会参考上面的题目;每道题附有详细题解,可查看测试数据和运行结果,便于调试、发现错误并改正。
采用章节递进的层次结构,由易到难,讲授知识、练习编程结合,题目必须依次完成,避免了只挑简单题做的行为;各章节犹如一本竞赛辅导书,形成了一个鲜明的知识结构,利于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。

其实好的刷题网站有很多,不一定非要刷国内的,不知道题主的真正用意是什么,不管怎么说,作为程序员也不能只看国内的网站吧,在这里就都列举一下比较好的吧,大家针对自己的需求来选择刷题网站就好。很多高赞答主已经说了一些了,我列一下我知道的。


(这里想多说一句,不经常回答问题的,都是默默的潜伏,正好今天有时间就来整理一下我的回答一下吧)


刷题也要看目的,是日常刷题提高能力,还是巩固基础,还是为了笔试面试求职或者是其他,在这里我分为了三种:

日常刷题篇笔试面试求职篇ACM篇


日常刷题篇:


1、(topcoder)Deliver Faster through Crowdsourcing


就这名字就足以让人感觉到它的地位了,没错,这可是全世界规模最大的程序竞赛网站了,也会有一些算法竞赛,这个比较适合一些高端的或者搞acm的,也会举办一些比赛,能参观一下也是多少人心之所向。



2、(Codeforces)codeforces.com/


这个网站是俄罗斯的最大的算法比赛网站了,可以和大家交流学习,也是一个自学的好地方,当然,要有一定的自学能力。


3、(AtCoder)AtCoder

这个网站是 日本最大的算法竞赛网站,题风很棒。有英文和日文题解,很贴心,但是我们应该很少有人能够用日语看题看网站,所以我们可以将网站调成英文的。



4、(Codility)codility.com/

这个网站也是非常有名的,主要是帮助各大公司笔试的,可以在线编程,而且支持的语言非常多,很适合来这列刷题的,所以英语不好的一定要多学习的,其实英语这个东西就是你越不看英文的就越没有感觉,身为一个程序员,英文不好怎么行呢




5、 (

Timus Online JudgeTimus Online Judge

这个网站是一个俄罗斯的题库,里面的题目也是比较适合有一定基础的来这里提升。这个网站我不经常用,所以也就不多说。


6、(SPOJ)Sphere Online Judge (SPOJ)

这个网站是波兰的,但是讨厌的是广告好多,弄的不知所以,界面还挺好看的,也是有一定基础才可以。


7、(USACO)USA Computing Olympiad

usaco是美国中学生的官方竞赛网站。是美国著名在线题库,专门为信息学竞赛选手准备。推荐直接阅读英语原文,既准确可靠又可提高英语水平。做题方式模拟正式比赛,采用标准测评机、文件输入输出、直接提交程序源文件的测评方式。网站的Training题目全面,是学习信息学不可不知的网站,每年NOINOIP 都会参考上面的题目。每道题附有详细题解,可查看测试数据和运行结果,便于调试、发现错误并改正。采用章节递进的层次结构,由易到难,讲授知识、练习编程结合,题目必须依次完成,避免了只挑简单题做的行为。各章节犹如一本竞赛辅导书,形成了一个鲜明的知识结构,利于OI初学者和高手逐步提高水平,充分学习信息学各方面知识,避免偏颇。

(来源:usaco_百度百科


不足之处:



1. 其中有些习题NOI超纲,请甄别。(随着国内信息学竞赛难度的提升,已经基本不超纲了)
2. 习题量过少,需要其他题库补充。
3. 与国内NOIP竞赛略有脱节,需要注意。
4.全英文界面,无官方翻译,但有非官方的中文翻译。


8、Saratov State University :: Online Contester


sgu是俄罗斯斯坦福州立大学的OJ,很老牌了.题目数量很少,但题题精炼,每做一道题都会让你的编程水平上升,特别适合进阶来使用,在有一定编程水平之后可以试着做做,要争取做出每一道题。只是网站不太稳定,容易进不去,或者就是很慢很慢,不过坚持下去进阶石非常有效果的,好感度非常大。

现在就是进不去了。。。


9、(UOJ)UVa Online Judge

西班牙Valladolid大学的Online Judge。是最古老也是全世界最知名的Online Judge,这个是比较适合初学者的。国内也就是那么OJ,其实可以一段一段的练习,永远不怕练的多。



10、(Hihocoder)hihoCoder

对这个网站的好感度也比较好,可能是因为跟acm的风格很像的缘故吧,每周都会有一个竞赛题目,可以参与其中,据说最早来自于原北京大学POJ团队,一周一个编程题,非常不错的,主要是有一定趣味性。




11、(Lintcode)LintCode - 主页

这个被称作中文版的leetcode,也是可以做为编程能力提升的一个中转站。


12、(nowcoder)牛客网-专业IT笔试面试备考平台,最全C++JAVA前端求职题库,全面提升IT编程能力


牛客网作为中国最大的IT题库,来到这就是一个字,刷~而且结合着论坛,求职,给程序员很好的一个体验,里面的帖子都很有含量,要不就是你去提问总有热心牛友帮你回答,牛客网的CEO叶神,牛妹也会经常出没,帮助大家,这也是我比较看好牛客网的一个原因。

13、 Welcome To PKU JudgeOnline


北京大学的OJ,上面题目有点久远,不过很适合上手,题目相对比较简单,经典算法会比较多,不过不是特别建议这个了,经典题目在其他很多网站上也能找到的,如果就想来看看这些经典题目,也是可以的。



14、ZOJ :: Home


这个是浙江大学的Online Judge,也是经典题目会比较多,更新也是几乎到一个阶段了,我已经很久没有来过了。


15、Welcome to Hangzhou Dianzi University Online Judge

这个是杭电的OJ,这个在国内还是比较火的,大多数应该都知道的,也不用多说了,主要是很多比赛都在这,想不知道都不行,主要是ACMer喜欢在这里,说哎也惭愧,只是我最近也没有来过了。。但是还是非常非常推荐的。




16、HUSTOJ

这个是华中科技大学的OJ,里面的题目也是很棒的,他的亮点还有可以创建自己的比赛,比较有趣,之前玩过一次,之后专心打比赛去就再也没有来过了。




这里进阶顺便推荐几本好书:


  • 挑战程序设计竞赛
  • 算法
  • 算法导论
  • The Art of Computer Programming

笔试面试求职篇:


1、(leetcode)leetcode.com/

这个刷题网站对于求职者来说并不陌生,几乎是人人都要刷一遍的,面试官也会从里面挑选各类题目,这样就会有更多的人去在上面刷,不光光是为了想碰到原题,更能够学到其中的思想。部分题目还要收费的。



2、cc150

其实这是一本书,也是面试的时候很需要的,这个可能小白或者没有面试经验的人没有听过这个,其实就是这个:Cracking the Coding Interview,这本书如果你还是不熟悉,那就直接上中文的:《程序员面试金典》,好啦,这回总听过了吧,还没听过就上图~


主要也还是练习,国内牛客网上有这个里面的题目的在线练习,虽然没有全部的题目,但是也是国内最好的了。程序员面试金典_ 编程题_牛客网


3、剑指offer


没错,这个也是一本书,可以说也是求职面试的过程中人手一本,所以也并不陌生,书上多是c++语言实现的,在线练习的话也是牛客网上也有,支持多个语言,可以在这里刷题。剑指Offer_编程题_牛客网


4、(nowcoder)牛客网-专业IT笔试面试备考平台,最全C++JAVA前端求职题库,全面提升IT编程能力

牛客网是中国最大的IT题库了,这里能交流,能刷题,能看笔经面经,会为求职的小伙伴提供很多帮助,我自己也是受益良多,牛客网的ceo叶神也是人特别好,给我很多帮助。这里放上首页截图,不要笑话我刷题少。。



ACM刷题篇:


这列贴出我搞ACM的时候刷题的网站: