姓名:尤學(xué)強(qiáng)? 學(xué)號(hào):17101223374
轉(zhuǎn)載自:http://mp.weixin.qq.com/s/eGkJYbNx45kK6VsCK1mKmQ
【嵌牛導(dǎo)讀】:編程挑戰(zhàn)
【嵌牛鼻子】:編程
【嵌牛提問(wèn)】:編程挑戰(zhàn)網(wǎng)站
【嵌牛正文】:
在我尋找最好的編程挑戰(zhàn)的過(guò)程中,我整理了一些非常受大眾歡迎的編程難題網(wǎng)站列表,并且做了簡(jiǎn)單介紹,希望它們可以在你的編程之旅中幫助到你:
1、TopCoder
這個(gè)網(wǎng)站可以說(shuō)是一個(gè)程序設(shè)計(jì)比賽的網(wǎng)站,有近一百萬(wàn)程序員所支持,該網(wǎng)站每個(gè)星期都有兩次網(wǎng)上在線(xiàn)比賽,根據(jù)比賽的結(jié)果對(duì)參賽者進(jìn)行新的排名。參賽者可以使用他們的代碼編輯器直接在線(xiàn)自行完成挑戰(zhàn)。根據(jù)參賽者完成時(shí)間長(zhǎng)短排名。
TopCoder上排名靠前的用戶(hù)都是非常有潛力的程序員,他們會(huì)定期參加各種比賽。這些用戶(hù)還可以通過(guò)名稱(chēng)為“ALGORITHMS WEEKLY BY PETR MITRICHEV”的博客平臺(tái)去發(fā)表一些關(guān)于編程競(jìng)賽、算法、數(shù)學(xué)等方面的文章。
2、Coderbyte
Coderbyte 是 Kickstarter 資助的項(xiàng)目(在Kickstarter 支持之前這個(gè)網(wǎng)站就已經(jīng)存在了),而且它針對(duì)完全的初學(xué)者和類(lèi)似中級(jí)程序員。
Coderbyte 提供了 200 多種編碼挑戰(zhàn),挑戰(zhàn)者可以從 10 種編程語(yǔ)言任選一個(gè),直接在線(xiàn)解決問(wèn)題。挑戰(zhàn)的范圍從簡(jiǎn)單(查找字符串中的最大單詞)到硬(打印圖的最大基數(shù)匹配)。
他們還提供一系列算法教程,包括教程視頻和面試準(zhǔn)備課程。與HackerRank和其他類(lèi)似網(wǎng)站不同的是,除了Coderbyte發(fā)布的官方解決方案外,用戶(hù)還可以查看其他用戶(hù)提供的解決方案。
3、Project Euler
Project Euler 提供了很多關(guān)于計(jì)算機(jī)科學(xué)和數(shù)學(xué)領(lǐng)域的挑戰(zhàn)。Project Euler 大概是世界上最受歡迎的編程挑戰(zhàn)網(wǎng)站,它們?cè)O(shè)立得并不是很難,反而更加需要關(guān)鍵的思考和解決問(wèn)題,以此來(lái)幫助你成長(zhǎng)和學(xué)習(xí)你所使用的語(yǔ)言。這一切都是為了鍛煉你進(jìn)步,確保你充分理解自己在做什么。
你不能直接在網(wǎng)站上的編輯器編碼,所以你需要在自己的電腦上編寫(xiě)一個(gè)解決方案,然后在他們的網(wǎng)站上提交解決方案。
4、HackerRank
HackerRank提供了很多不同領(lǐng)域的挑戰(zhàn),比如算法、數(shù)學(xué)、SQL、函數(shù)式編程、人工智能等等。它關(guān)于人工智能的那部分挑戰(zhàn),它們非常酷,而且讓高級(jí)程序員也有東西可以玩。它的背后是 Y Combinator、SVAngel 和許多其他公司。絕對(duì)有很多黑客在攻克這些。
HackerRank 還針對(duì)每一項(xiàng)挑戰(zhàn)專(zhuān)門(mén)成立了討論和領(lǐng)導(dǎo)委員會(huì),而大多數(shù)挑戰(zhàn)來(lái)自于一篇社論,它解釋了更多的挑戰(zhàn),以及如何接近它提出解決方案。除了這篇社論,你目前還不能看到其他用戶(hù)在 HackerRank 上的解決方案。
HackerRank 還支持用戶(hù)提交應(yīng)用程序,可以適用于工作、解決公司贊助編碼的挑戰(zhàn)。
5、CodeChef
CodeChef 是一家位于印度的編程競(jìng)賽網(wǎng)站,由 Directi 創(chuàng)造的,該網(wǎng)站提供了數(shù)百種挑戰(zhàn)。挑戰(zhàn)者可以通過(guò)在線(xiàn)編輯器進(jìn)行編程,而且還可以根據(jù)自身的編程能力去查看適合于自己水平的挑戰(zhàn)題目,CodeChef 有一個(gè)大小合理的編程社區(qū),用戶(hù)可以參與論壇討論,編寫(xiě)教程,而且還能參加 CodeChef 的編碼競(jìng)賽。
6、CodeEval
CodeEval 與 HackerRank 類(lèi)似,它也提供了一系列公司贊助的編碼挑戰(zhàn),如果能夠很好的完成挑戰(zhàn),還可能幫助你找到工作或者是現(xiàn)金鼓勵(lì)等。公司會(huì)舉辦競(jìng)爭(zhēng)挑戰(zhàn)賽,以此來(lái)招募新開(kāi)發(fā)人員進(jìn)行工作。參賽者在這里看到當(dāng)前的挑戰(zhàn)列表。
7、Codewars
Codewars 提供了很多由他們自己社區(qū)提交的編碼挑戰(zhàn),挑戰(zhàn)者可以用幾種語(yǔ)言在編輯器中直接在線(xiàn)完成挑戰(zhàn)。用戶(hù)還可以查看針對(duì)每個(gè)挑戰(zhàn)的討論以及其他用戶(hù)的解決方案。我覺(jué)得你會(huì)喜歡 Codewars 的,就像社區(qū)里很多開(kāi)發(fā)者已經(jīng)喜歡的那樣。
8、LeetCode
LeetCode 是一個(gè)很受歡迎的在線(xiàn)判題系統(tǒng),它提供了 190 道挑戰(zhàn)題目,這些題目可以幫助挑戰(zhàn)者為面試做好技術(shù)準(zhǔn)備。挑戰(zhàn)者可以用 9 種編程語(yǔ)言直接在線(xiàn)完成挑戰(zhàn)。雖然該網(wǎng)站不支持查看其他用戶(hù)的解決方案,但用戶(hù)可以為自己的解決方案提供統(tǒng)計(jì)數(shù)據(jù),例如與其他用戶(hù)相比,代碼運(yùn)行速度等等。
網(wǎng)站還設(shè)有一個(gè)專(zhuān)門(mén)為面試準(zhǔn)備的Mock Interview部分,這是由他們自己創(chuàng)辦的編碼競(jìng)賽,其中有一些文章可以幫助用戶(hù)更好地了解某些問(wèn)題。
9、SPOJ
Sphere Online Judge(SPOJ)是一個(gè)在線(xiàn)判題系統(tǒng),提供 20000 多個(gè)編程挑戰(zhàn)。它支持輸入所有你可以想到的編程語(yǔ)言,而且在它背后還有一個(gè)優(yōu)秀社區(qū)始終如一地有效幫助著社區(qū)的論壇。可以直接通過(guò)在線(xiàn)編輯器中提交代碼。SPOJ 還舉辦了自己的競(jìng)賽,并有一個(gè)區(qū)域?qū)iT(mén)供用戶(hù)討論編碼挑戰(zhàn)。他們目前沒(méi)有像其他網(wǎng)站那樣提供任何官方解決方案或社論。
10、CodinGame
CodinGame 與其他網(wǎng)站有點(diǎn)不同,因?yàn)樗皇呛?jiǎn)單地在編輯器中去完成編碼挑戰(zhàn),而是讓挑戰(zhàn)者真正參與在線(xiàn)游戲代碼的編寫(xiě)。用戶(hù)可以在這里看到當(dāng)前提供的游戲列表和一個(gè)示例。這個(gè)游戲有一個(gè)問(wèn)題描述,測(cè)試用例,和一個(gè)編輯器,你可以在 20 多個(gè)編程語(yǔ)言中任選一種編寫(xiě)你的代碼。
本文所提及的都是根據(jù)以下內(nèi)容整理出來(lái)的:一些是我本人瀏覽網(wǎng)站時(shí)關(guān)注到的,一些是通過(guò)谷歌搜索和基于 Quora 上的文章,還有一些在一些文章中遇到過(guò)的。我還經(jīng)常逛一些類(lèi)似于 r/learnprogramming 這樣的論壇,查看論壇用戶(hù)通常推薦哪些網(wǎng)站。
經(jīng)過(guò)6年多的發(fā)展,LSGO軟件技術(shù)團(tuán)隊(duì)在地理信息系統(tǒng)、數(shù)據(jù)統(tǒng)計(jì)分析、計(jì)算機(jī)視覺(jué)領(lǐng)域積累了豐富的研發(fā)經(jīng)驗(yàn),也建立了人才培養(yǎng)的完備體系。
歡迎對(duì)算法設(shè)計(jì)與實(shí)現(xiàn)感興趣的同學(xué)加入,與我們共同成長(zhǎng)進(jìn)步。
本微信公眾平臺(tái)長(zhǎng)期系統(tǒng)化提供有關(guān)機(jī)器學(xué)習(xí)、軟件研發(fā)、教育及學(xué)習(xí)方法、數(shù)學(xué)建模的知識(shí),并將以上知識(shí)轉(zhuǎn)化為實(shí)踐。拒絕知識(shí)碎片化、耐心打磨技能、解決實(shí)際問(wèn)題是我們的宗旨和追求。