學(xué)習(xí)編程嘛,解決難題往往會(huì)給你帶來無比愉悅的快感,當(dāng)你遇到一個(gè)別人都不能搞定的編程難題時(shí),你挽起袖子一陣咔咔解決,就你搞定了,仿佛有著一種在座的各位都是辣雞的開心感。但真正的原因呢是,解決不同類型的挑戰(zhàn)和難題可以幫助你成為更好的問題解決者,學(xué)習(xí)編程語言的復(fù)雜性,準(zhǔn)備面試、學(xué)習(xí)算法以及其他東西。 在下面小編收集了一些現(xiàn)在非常受歡迎的代碼挑戰(zhàn)網(wǎng)站,快來看看有沒有你比較感興趣的挑戰(zhàn)難題!有就趕緊來戰(zhàn)! TopCoderTopCoder是在線競(jìng)爭(zhēng)性編程的原始平臺(tái)之一。它提供了一系列算法挑戰(zhàn)的列表,你可以使用代碼編輯器直接在線完成。他們受歡迎的單輪比賽在特定時(shí)間每月提供幾次,你可以與其他人競(jìng)爭(zhēng),以最快的速度解決挑戰(zhàn)。 TopCoder 的頂級(jí)用戶是非常好的喜歡競(jìng)賽的程序員,并定期在編程競(jìng)賽中競(jìng)爭(zhēng)。排名靠前的用戶可以在自己的博客里面冠上 ALGORITHMS WEEKLY BY PETR MITRICHEV 的標(biāo)題。 CoderbyteCoderbyte提供了200多種編碼挑戰(zhàn),你可以用10種編程語言直接在線解決(請(qǐng)參閱本示例)。挑戰(zhàn)范圍從容易(找到字符串中最大的單詞)到難(打印圖形的最大基數(shù)匹配)。 他們還提供了一系列算法教程,介紹性視頻和面試準(zhǔn)備課程。與HackerRank和其他類似網(wǎng)站不同的是,除了Coderbyte發(fā)布的官方解決方案之外,你還可以查看其他用戶提供的解決方案。 Project Euler歐拉計(jì)劃在計(jì)算機(jī)科學(xué)和數(shù)學(xué)領(lǐng)域提供了大量的挑戰(zhàn)題。挑戰(zhàn)通常包括編寫一個(gè)小程序來找出一個(gè)有難度的數(shù)學(xué)公式或方程式的解決方案,比如找到一個(gè)序列中每個(gè)數(shù)字之前的所有數(shù)字的數(shù)字之和。 你不能在編輯器中直接在網(wǎng)站上編碼,因此你需要在自己的計(jì)算機(jī)上編寫解決方案,然后在其網(wǎng)站上提供解決方案。 HackerRankHackerRank為幾個(gè)不同的領(lǐng)域提供了挑戰(zhàn),如算法,數(shù)學(xué),SQL,功能編程,AI等等。你可以直接在線解決所有挑戰(zhàn)(參見本例)。他們?yōu)槊恳粋€(gè)挑戰(zhàn)提供了一個(gè)討論和排行榜,大多數(shù)挑戰(zhàn)都來自一個(gè)社論,詳細(xì)地解釋了這個(gè)挑戰(zhàn),并且告訴你如何獲得這個(gè)挑戰(zhàn)題。除了社論,你目前無法查看其他用戶在HackerRank上的解決方案。 在HackerRank上,用戶還可以通過解決公司贊助的編碼挑戰(zhàn)來申請(qǐng)工作。 CodeChefCodeChef是一個(gè)印度的挑戰(zhàn)編程網(wǎng)站,提供了數(shù)百個(gè)挑戰(zhàn)。你可以在他的在線編輯器中編寫代碼,并根據(jù)你的技能級(jí)別查看各種不同類別的挑戰(zhàn)(請(qǐng)參閱此示例)。他們有一個(gè)大型的編程社區(qū),貢獻(xiàn)論壇,撰寫教程,并參加CodeChef的編碼比賽。 CodeEvalCodeEval類似于HackerRank,它還提供了一系列公司贊助的編碼挑戰(zhàn),如果你很好地解決問題,可以幫助你找到工作。公司可以創(chuàng)造挑戰(zhàn)并舉辦競(jìng)賽,招聘新的開發(fā)人員上班。你可以在這里查看當(dāng)前挑戰(zhàn)的列表。 Codewars提供了大量由自己的社區(qū)提交和編輯的編碼挑戰(zhàn)。您可以使用多種語言之一在編輯器中直接在線解決挑戰(zhàn)。你可以查看每個(gè)挑戰(zhàn)以及用戶關(guān)于解決方案的討論。 LeetCodeLeetCode是一個(gè)受歡迎的“在線法官”,提供了190多個(gè)挑戰(zhàn),可以幫助你準(zhǔn)備技術(shù)工作面試。你可以使用9種編程語言來直接在線解決挑戰(zhàn)。你無法查看其他用戶解決方案,但是網(wǎng)站為你提供了你自己的解決方案的統(tǒng)計(jì)信息,例如與其他用戶相比,你的代碼運(yùn)行速度有多快。 他們還有一個(gè)專門面向工作面試的模擬面試部分,他們主辦自己的編碼比賽,他們有一個(gè)文章部分,以幫助你更好地了解某些問題。 SPOJSphere在線法官(SPOJ)是一個(gè)“在線法官”,提供超過20k的編碼挑戰(zhàn)。你可以在線編輯器中提交你的代碼。SPOJ還舉辦自己的比賽,并有一個(gè)面向用戶討論編碼挑戰(zhàn)的領(lǐng)域。他們目前沒有提供像其他網(wǎng)站一樣的官方解決方案或社論。 CodinGameCodinGame與其他網(wǎng)站有所不同,因?yàn)樵谶@個(gè)網(wǎng)站上不是只在編輯器里面簡(jiǎn)單地解決編碼挑戰(zhàn),而是直接在線編寫游戲代碼。游戲中有一個(gè)問題描述,測(cè)試用例和編輯器,你可以用20種編程語言編寫代碼。 雖然這個(gè)網(wǎng)站不同于像上面提到的典型的競(jìng)爭(zhēng)性規(guī)劃網(wǎng)站,但它仍然受到喜歡解決挑戰(zhàn)并參與比賽的程序員的歡迎。 |
|