2021年10月23日 星期六

Python 程式練習 4 ─ 堆疊檢查 暨解題系統

http://4rdp.blogspot.com/2021/10/python-4.html?m=0


一列火車由 A 方向進來,往 B 方向駛去,火車站可以暫時堆疊車廂,現在寫一程式檢查火車 B 的序號是否存在?

例如,3 2 5 4 1 存在,但是 3 2 5 1 4 不存在。

題意及輸出入規範詳見 c123: 00514 - Rails

Andy 開始練習寫程式,他推薦 ZeroJudge, An Online Judge System For Beginners (高中生解題系統),我也嘗試陪他寫一題,你的程式碼送出解答後,就會幫你評分。

本題開始時我和他各別得到 TLE (Time Limit Exceed) 超時,然後改用其它方法寫得到 WA (Wrong Answer) 答案錯誤,最後我的程式碼可以 0.1 秒執行完成,效率算是很好,不過編譯後檔案大小有點胖。解這題不太容易,WA 表示你的程式邏輯有誤,TLE 表示程式引用外部函數過多而耗時,有興趣的朋友試看看。

另外,Leetcode 也是常見的程式初學者刷題系統,個人的看法,刷題有助於系統性學習,但是學習總有盡頭,過度刷題最後可能只為刷題,缺少對社會貢獻以及個人風格展現,我會建議刷個幾十題後,改成做 side project,也可以對自己感興趣的主題有更廣泛及深入的學習。

延伸閱讀

Code Combat (兒童版的刷題系統)

沒有留言:

張貼留言