程序算法编程学习网站

程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦

国外

1https://www.topcoder.com/

TopCoder 是最早的在线编程竞技平台之一,该网站提供了一系列的算法挑战,在这里,你可以:

使用他们的代码编辑器直接进行在线作答。

参加该网站举办的 SRMs 挑战项目。该比赛将会在每月定期举办,作为参赛者,你需要以最快的速度,与众多其他的编程挑战者进行比拼。

他们还会赞助竞赛,如果你写出最好的解决方案,就可以拿到奖励!

2https://www.hackerrank.com/

HackerRank 侧重于“计算机科学”主题,在算法、数学、SQL、函数式编程、AI 等众多不同领域为挑战者们提供了相应的编程题目。在这里,你可以:

直接在线完成挑战在线。

HackerRank 针对每一项挑战都专门成立了讨论区与排行榜。而它提供的大多数挑战都来自于社论,让你了解挑战内容的同时,思考如何提出解决方案。并且除了挑战对应的这篇社论,你目前无法查看其他挑战者在HackerRank 上的解决方案。

3https://www.lintcode.com/

LintCode 收集了网上一些最常见、最高频的编程题目,支持中英双语:相比其他的一些网站,LintCode 的编程挑战覆盖的领域更多,包括算法、数据结构,人工智能,系统设计等众多领域。

如果你在准备软件工程面试,在 LintCode 刷题是很有帮助的,它的每道题都有详细的解答,能帮助你更好地理解。

LintCode 有一个模拟面试专栏,精选 Facebook, Amazon, Google, Linkedin 等IT企业的面试题,真实还原面试流程,专门为求职者准备。

LintCode 有《Cracking the Coding Interview》《剑指offer》等算法学习书籍的配套习题库,可供初学者练习。

LintCode 还有自己举办的编程比赛,很多算法爱好者会在这里PK,切磋技艺。

4https://www.geeksforgeeks.org/

对于“算法和数据结构”主题,GeeksforGeeks 有很多很好的文章、解释和代码解决方案。在这里,你可以:

在在线编辑器中进行挑战。

在该网站的代码解决方案中,你会看到解题者是如何将一个复杂的问题分解成更简单的部分,并提出代码解决方案的。

如果你正在准备一个软件工程的面试,也可以用这个网站准备和复习更难的算法问题。

5https://coderbyte.com/

Coderbyte 提供了200多种编程挑战。在这里,你可以:

除了编程挑战之外,Coderbyte 还提供算法和数据结构、Web开发等编程训练营的预备课程以及一系列关于面试准备的相应课程,被很多顶级编程训练营所推荐。

6https://www.codewars.com/

Codewars提供了大量由他们自己的社区提交和编辑的编程挑战,在这里,你可以:

使用多种编程语言像打游戏升级一样进行挑战。

通过在线编辑器直接完成每项挑战。

通过实战训练来提升编程开发技能。

查看关于每个挑战的讨论以及每个用户解决方案。

通过挑战来获得分数和排名。

7https://codefights.com/

CodeFights提供了一组编程挑战,在这里,你可以:

在在线编辑器中进行挑战。

在专门的用户挑战论坛中参与讨论。

与“机器人”比拼!

8https://www.codingame.com/

CodinGame这个网站很特别,他跟一些竞争性编程网站有所不同。它不是简单地通过生成一组输出来实现编程挑战,而是以玩游戏的方式通过在线编程完成相应挑战。这是一个很棒的网站,有些游戏非常有趣,并且游戏界面和图形设计非常精美。

9https://www.codechef.com/

CodeChef是一家印度的编程竞赛网站,它提供了数百个挑战供你选择。在这里,你可以:

通过在线编辑器来进行编程。

根据自身的编程能力,选择不同技术等级不同类别的编程挑战。

在他们建立的程序员社区中进行交流并为论坛编写教程。

参加 CodeChef 的编程竞赛。

10http://codeforces.com/

Codeforces 是一家总部位于俄罗斯的竞赛编程网站,它会定期举办在线比赛,并且竞赛选手是世界上一些最优秀的程序员。他们的挑战通常需要用到高等数学和算法,如果你是一个编程新手,他们的挑战很可能对你来说难度比较大。

11https://www.codecademy.com/

包含在线编程练习和课程视频

12https://codehs.com/

包含数据结构、游戏设计、动画类编程题

13https://programmingpraxis.com/

此网站编程练习不保存分数、不排名、不竞赛

14https://projecteuler.net/

有590道题,会显示难度水平和提交完成率

15https://www.hackerearth.com/zh/

注册帐号后可参与编程练习(有内推到知名企业的机会)

16https://leetcode.com/

在线刷题网站,在线编程刷题、在线判题

 

 

国内:
1. [牛客OJ](在线编程_C++Java前端经典笔试面试题库) 题目挺全的,包含《剑指Offer》66题,校招真题105题,leecode148题,ACM训练题7418题(变态),计算机考研复制233题,华为机试108题,还有一些其他js题。但支持语言不多,都支持C++和java,c#、js、python2.7一部分支持。AC不通过会提供使题目错误的输入,但往往格式不规范。总的来说题量很多,系统一般。
2. [51NOD](最新动态 - 51Nod) 题目有546题,AC不通过会有对应的输入输出,不过需要分值购买来下载看,分值可以通过刷题得到,里面也有关于贪心算法和动态规划的学习教程,曹鹏博士讲的,只有做完教程分值才能返还,非常好的一个网站。目前支持19种主流语言,支持python2和python3,case设计也非常合理。
3. [浙江大学 Online Judge(ZOJ](http://acm.zju.edu.cn). 国内最早也是最有名气的OJ,有很多高手在上面做题。打开速度快。
4 [北京大学 Online Judge(POJ)](Welcome To PKU JudgeOnline>)建立较晚,但题目加得很快,现在题数和ZOJ不相上下,特点是举行在线比赛比较多,数据比ZOJ上的要弱,有时候同样的题同样的程序,在ZOJ上WA,在POJ上就能AC。不过感觉pku的题目要难很多。这个题库的一大特点就是 OnlineJudge功能强大,其实pku现在已经是中国最好的ACM网站。
5. 补充下,国内有个仿照leecode做的[lintcode](LintCode - 编程面试题在线训练平台),lintcode刚出来的时候我做了几道题比较了一下,有些时候lintcode能过的代码放在leetcode就会有test case挂掉,不过那也是好久以前了,现在应该发展的挺好了,虽然还在发展之中,但感觉lintcode做的UI很不错,不好的地方就是没有像leecode的讨论区,非得到九章算法 - 帮助更多中国人找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧去查答案,当然查询只支持英文哟,比如查丑数要输入"ugly"才会查的到,两个网站分开来也是想赚培训班的钱吧。但他只提供答案没有论坛高手的解题讨论并没有卵用,这点我觉得leecode比较好。好的地方除了UI就是lintcode会有leetcode的付费题,同时他的ladder挺好用的,可以练一下每个题型的经典题。推荐先刷完leecode的免费题,再来lintcode上玩。
6. [赛马网](赛码网-IT笔试加分利器) 自带没几道题目,而且有一次刷他自带的题目体验很不好,记得有道题目显示其他人“正确提交的答案”其实都是错误的,而自己提交的正确答案却显示不通过,看那些所谓的正确答案甚至是其他题目里的答案,想跟客服反应还找不到渠道,只有qq群。。。他家商业合作做的挺不错,京东、今日头条等那他做笔试平台,大家要是想刷名企的题目倒是可以来这的,但刷其他题目,呵呵。。。
7. 谢谢

@

姆姆姆 提到hihoCoder ,前些天微软以他为平台展开的笔试,和微软有一腿,之前举办过编程之美挑战赛,特点是每周都有针对性的一道难题等着你去AC,有详细讲解,月赛的题目均由来自北京大学等一流高校的ACM队员出题。OJ编辑环境适合Emacs、vim或者最简单的文本编辑,支持主流编程语言:g++,c#,python2,java,讨论区活跃度并不高,发的代码没有自动识别语法高亮的,统一的黑色markdown,前端要努努力了。此外我觉得代码提交不人性化,我用safri、firefox浏览器提交的代码状态不会自动跳转,必须刷新下你才知道是从waiting到ac了还是re了,还有估计底层集群比较小,人一多提交就很慢,刷了半天还是waiting。总的来说没事来这每周刷个题也不错,兴致来了去参加个小比赛乐乐,但长期对着这个界面刷题我是受不了。
国外:
1. [leetcode ](LeetCode Online Judge) 可以说是最著名的网站了,海量编程题包含数据库和shell试题,支持 C, C++, Java, Python, C#, JavaScript, Ruby, Bash, MySQL.喜欢用python的同学注意可以支持python3了,另外提供导致ac不通过的的输入和输出,易于修改程序。
2. [俄罗斯萨拉托夫国立大学(Saratov State University)(SGU)](Saratov State University :: Online Contester) SGU是俄罗斯萨拉托夫国立大学(Saratov StateUniversity)用于培养ACM选手的训练网站。这个网站的建成时期较晚,但随着比赛的举行以及新题目的加入,这个题库的题目也日渐丰富。这个题库的一大特点就是 OnlineJudge功能强大,它不仅使你避开了多数据处理的繁琐操作,还能告诉你程序错在了第几个数据。这一点虽然与ACM的Judge有些出入,但是却方便了调试程序。与UVA相比,这里的题目在时间空间上要求都比较严格,而且更多的考察选手对算法的掌握情况,所以特别推荐冲击NOI的选手也来做一做。

转载:https://www.cnblogs.com/mverting/p/9071813.html

你可能感兴趣的:(leetcode,java)