zoukankan      html  css  js  c++  java
  • 程序算法学习网站

    程序员面试、算法研究、编程艺术、红黑树、机器学习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的选手也来做一做。

  • 相关阅读:
    UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
    POJ 1679 The Unique MST (次小生成树)题解
    POJ 2373 Dividing the Path (单调队列优化DP)题解
    BZOJ 2709 迷宫花园
    BZOJ 1270 雷涛的小猫
    BZOJ 2834 回家的路
    BZOJ 2506 calc
    BZOJ 3124 直径
    BZOJ 4416 阶乘字符串
    BZOJ 3930 选数
  • 原文地址:https://www.cnblogs.com/mverting/p/9071813.html
Copyright © 2011-2022 走看看