6個超酷的網站,專門用於學習演算法
6個超酷的網站,專門用於學習演算法
資料來源: https://mp.weixin.qq.com/s?__biz=MzA5NDMzOTExMw==&mid=2455356467&idx=1&sn=cac3a88d789982428cc8e5a8e4930b5e&chksm=87fd4d75b08ac463a305f9e627cd75a3512e0f1f942a0f8f4db97d636c27a3ec513f6b15c5c1&scene=126&sessionid=1594860094&key=e6152aaf211ea8245e70771bdf52b85753fb677568ebf725adb99d4ed0252cac768ec1e87d657eab1ef6d2e6b3d4ad650d373e44230415c3876f67c6daf52c1259e7886e106212df9778e2d509079fcc&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_TW&exportkey=ApQAt9fQrHkS%2FqDsjVMcFe0%3D&pass_ticket=mNjeNS%2BPXBLUQBB%2BY3rNPzYS518lXk4%2FpKZdxD3KfuR8Kniu9fD03Hg3nWR4wyG7
1. HackerRank : https://www.hackerrank.com/
該網站在編程界非常出名,從初級到高級,開發人員到招聘經理等大多數程序相關崗位的人都知道這個網站。
hackerrank上有很多算法題,難度從低到高,除此之外,還有各種算法和數據結構(甚至是SQL)的題。你可以直接在上面編寫代碼,直接運行並查看結果,還可以查看評論看看看其他人都是如何解題的。
在面試過程中,也有一些企業讓我來這個網站刷題,因此,你可以經常到這刷題鞏固知識點。
2. TopCoder : https://www.topcoder.com/challenges/
TopCoder是最早的程序設計比賽網站之一,其中就有算法挑戰賽,你可以使用其代碼編輯器在線進行操作。單輪比賽每月在特定時間進行幾次,編碼員相互競爭,根據分數和解題時間排名。
在TopCoder上排名靠前的用戶都是非常優秀的程序員,並且是經常參加各種編程競賽的人。排名最高的人將擁有自己的博客,在那裡他們可以寫有關編程競賽、算法、數學等所有他們想和大家分享的東西。
3.Geekforgeeks : https://practice.geeksforgeeks.org/
如果你在執行算法時遇到難題,在Google上搜索解決方案時,你可能會經常看到以下頁面。
這個頁面說實話看起來有點醜,分類也不是很好,但是,它有許多常見算法練習的解決方案。每個解決方案包括許多不同的方法,以及每種方法的複雜性,這是一種非常有幫助的網站。
4. Leetcode : https://leetcode.com/
另一個很受歡迎的算法培訓網站是Leetcode。這個網站的算法數量並不亞於hackerrank,它主要有3個難度級別,分別是Easy / Medium / Hard(有些簡單的問題也非常困難)。
算法面試都是從簡單的問題開始,中級問題則是用於評估你的個人能力,困難問題則是為Facebook/谷歌面試而準備的,這個網站還有一個優秀的地方是它可評估你代碼的性能,看看你的代碼運行的快還是慢,是否可以進行優化等。
5.Daily Coding Problem : https://www.dailycodingproblem.com/
和其他網站不同的是,Daily Coding Problem上面沒有習題列表,但是,如果你輸入自己的電子郵箱,他會每天向你發送一種算法面試題給你嘗試解答。題型同樣也根據難易程度劃分,Amazon / Google等公司的一些面試題就出自這裡,假如你購買了高級套餐,就會獲得解決方案。
6.Exercism.io : https://exercism.io/
儘管Exercism.io上面也有很多習題,但這些練習並不側重於算法,而是側重於編程語言的某一方面:
使用if / else循環
日期處理,字符串處理
如何處理錯誤,編寫異步代碼等