[Python] 上 LeetCode 程式解題網站,磨練程式與演算法技巧

[Python] 上 LeetCode 程式解題網站,磨練程式與演算法技巧

最近聽同事提到了 LeetCode 這個線上程式解題的網站,

想起了很久以前也有玩過的 UVa Online Judge

其實都是相同類型的網站,

給一堆題目讓你解,並且通常會需要用到一些演算法,

才不會跑太久或用太多記憶體~

 

不過 UVa Online Judge 比較舊,

雖然後來已經可以使用 Java/Python 來答題,

但整體網站的外觀還是比較陳舊,

答題後也要等一段時間才能看到是否通過。

 

LeetCode 相對來說,題目應該是有簡單一些,

像第一題 Two Sum 基本上並不需要用到什麼特別的演算法:

 

LeetCode 也支援相當多的語言,

像我是使用 Python (它還有分 Python 2 和 3),

寫完後可以先在 Testcase 區輸入測試資料,按 Run Code 看看結果如何。

等有把握之後,再按 Submit 真正送出:

 

送出後,算是立刻就得到結果 (不像 UVa Online Judge 要等好一陣子)。

除了正確性外,還可以知道你的程式和其他人比起來,

速度與記憶體用量如何~

如果發現自己的答案正確,但速度太慢/記憶體過多,

就會想要看看能不能寫的更好,

這樣正是能讓自己多多思考的正向循環:

 

LeetCode 很棒的一點是它還有參考解答,

而且通常不只一個,會從最直覺的想法開始,

到較為進階的演算法都有範例,

不管自己有沒有卡關,這些提示都非常有用:

 

每天來練個一兩題,感覺可以讓自己頭腦活動一下…^^

(本頁面已被瀏覽過 3,891 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料