10大編程挑戰(zhàn)網(wǎng)站,快速提升編程能力
在學習編程的過程中,完成編碼挑戰(zhàn)是一個快速提升編程技能的不錯方法。通過解決不同類型的編碼挑戰(zhàn)與難題,不僅能讓你成為處理問題的高手,而且可以幫助你了解編程語言的復雜性,學習新的算法,并能夠讓你有條不紊的進行面試準備。
在本文中,我將與大家分享一些流行的編碼挑戰(zhàn)網(wǎng)站,并為大家進行大體的介紹。
10.CodinGame
CodinGame 與其他編程挑戰(zhàn)網(wǎng)站有所不同,因為它提供了趣味性的游戲方式,讓你通過在線編碼解決相應的挑戰(zhàn)。你可以在這里查看游戲列表,并在這里查看相應的示例。在游戲中會有相關的問題描述、測試用例以及在線編輯器,你只需要編寫相應的代碼就可以開始挑戰(zhàn)了(20+ 編程語言任選其一)
9.SPOJ
Sphere Online Judge ( SPOJ )是一個提供超過 20K 編程挑戰(zhàn)項目的 Online Judge,它也支持在線提交代碼。SPOJ 會不定期的舉辦一系列編程挑戰(zhàn)競賽,同時他們還建立了一個針對編程挑戰(zhàn)的用戶討論區(qū)。但它與其他網(wǎng)站不同的是,他們沒有提供官方的解決方案。
8.LeetCode
LeetCode 是一個流行的 Online Judge ,它提供了 190+ 編程題目,可以幫助你在線刷各大 IT 公司的筆試/面試題。你可以在 9 種編程語言中的任意其一,在線完成相應的挑戰(zhàn)題目。雖然,你無法查看其他用戶的答案,但網(wǎng)站將為你提供與其他用戶答案分析對比后的相應信息,例如你可以間接地了解你的代碼運行速度。
他們還提供了針對大廠的 Mock 面試部分,并且也會主辦一些編程比賽,你也可以通過瀏覽他們的博客文章,更好地了解某些問題的解決方案。
7.Codewars
CodeWars 是一個通過實戰(zhàn)訓練來提升編程開發(fā)技能的網(wǎng)站。它提供了基于社區(qū)中經(jīng)典問題的挑戰(zhàn)題目,你可以使用多種編程語言像打游戲升級一樣,通過在線編輯器直接完成每項挑戰(zhàn),同時還可以查看、討論其他用戶的解決方案。
6.CodeEval
與 HackerRank 最為相似的是 CodeEval,這是一家使用代碼測試幫助雇主找到合適人才的網(wǎng)站。招聘方通過發(fā)布并舉辦編程挑戰(zhàn),招聘優(yōu)秀的程序開發(fā)者入職。如果你有能力搞定相應的挑戰(zhàn),那么工作自然不用愁。你可以在這里查看當前的挑戰(zhàn)列表。
5.CodeChef
CodeChefsh 是一個源自印度的編程挑戰(zhàn)網(wǎng)站,它提供了數(shù)百個挑戰(zhàn)項目供你選擇。你可以通過在線編輯器來編寫代碼,并根據(jù)技術等級查看不同分類下的挑戰(zhàn)內(nèi)容(參閱此示例)。他們還建立了一個編程社區(qū),便于用戶間交流,撰寫教程,并及時地參加 CodeChef 編碼競賽。
4.HackerRank
HackerRank 在算法、數(shù)學、SQL、函數(shù)式編程、AI 等眾多不同領域為挑戰(zhàn)者們提供了相應的編碼謎題。你可以直接在線完成幾乎所有的挑戰(zhàn)(參見本例)。他們?yōu)楦鱾€挑戰(zhàn)項目提供了討論區(qū)與排行榜。大多數(shù)挑戰(zhàn)的謎題來自于社論,讓你更多的了解挑戰(zhàn)內(nèi)容的同時,思考如何解決問題。除了社論,你無法查看其他挑戰(zhàn)者在 HackerRank 上的答案。
HackerRank 還支持用戶提交個人申請,并通過解決贊助公司的編碼挑戰(zhàn)來找工作。
3.Project Euler
Project Euler 在計算機科學與數(shù)學領域提供了大量的問題與挑戰(zhàn)。挑戰(zhàn)的內(nèi)容通常包括編寫一個計算數(shù)學公式或方程解的小程序,例如,找出數(shù)字序列中每個數(shù)字之前的所有數(shù)字的總和。
由于不能直接在線編程解答,所以你需要預先在自己的電腦上搞定解決方案,然后在其網(wǎng)站上提交即可。
2.Coderbyte
Coderbyte 網(wǎng)站上提供了超過 200 個編碼挑戰(zhàn),你可以從 10 種編程語言中選擇其中一種,直接在線完成挑戰(zhàn)內(nèi)容(具體請參閱此示例)。挑戰(zhàn)的難度則由易(查找字符串中最長單詞)至難(圖的***基數(shù)匹配)。
網(wǎng)站上還提供了一系列的算法教程、介紹性視頻以及面試準備的相應課程。與 HackerRank 和其他類似網(wǎng)站不同的是,你不僅可以查看 Coderbyte 發(fā)布的官方答案,還可以瀏覽其他用戶的解決方案。
1.TopCoder
TopCoder 是一個知名的在線編程競技平臺。它提供了一系列的算法挑戰(zhàn),你可以直接通過其代碼編輯器進行在線作答。***的 SRMs 挑戰(zhàn)項目,將會在每月定期舉辦。而作為參賽者,你需要以最快的速度,與眾多的編程挑戰(zhàn)者進行 PK.
在 TopCoder 上排名前列的參賽者,也都是定期參賽的優(yōu)秀程序員。作為網(wǎng)站上排名首位的程序員 - PETR MITRICHEV,他還維護著名為《算法周刊》的個人博客,他在博客中經(jīng)常撰寫關于編碼競賽、算法、數(shù)學等相關內(nèi)容,感興趣的朋友可以去看看。
***
上述分享的網(wǎng)站列表內(nèi)容,一些網(wǎng)站是我用過感覺不錯的,一些是利用谷歌搜索的,還有一些則是 Quora 上的文章以及其他相關文章推薦的,希望它們能對你有所幫助。