iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

新手也能學!一起從面試題理解程式邏輯!系列 第 2

【從面試題學邏輯-2】題目哪裡來?該怎麼做比較好?

讓我們接續上一篇 所以我說,為什麼要用解題開始?解題能吃嗎?

所以要哪裡找面試題呢?本次系列會從LeetCode與《Cracking the Coding Interview, 6th Edition》一書內挑出一系列的題目,下面做一點簡單介紹:

LeetCode

LeetCode其實相關介紹已經不少了,這邊就簡述就好。

LeetCode是一個蒐集程式面試題的網站,裡面有十分大量的面試題,並且有提供線上對答案的功能,而且也提供不少程式語言能使用。另外在對答案時也會計算花費時間、記憶體、速度排行等,每一題裡的討論區也是各種高手過招。

個人第一次接觸到面試題就是LeetCode,要說心得嘛……

感覺像是大腦在星爆/images/emoticon/emoticon04.gif

完整體驗到自己還有不少要學的

當然也有不少比較刁鑽的問題,就像Google會問人孔蓋為什麼是圓的一樣(雖然現在走去馬路上,大概就會看到方形的人孔蓋……),比較刁鑽或Hardcore的題目就不在本次範圍內。本系列會盡量挑選第一次也能挑戰的題目,當然隨著進度也會稍微提升一點挑戰性,大家不必過於擔心。

另外一個個人的小感想:上面的難度標示真的是參考用,有些Medium的就真的難到哭出來

《Cracking the Coding Interview》

我們簡稱它CTCI吧,這是一本非常豐富的書籍,從面試到程式概念、面試題目都有收錄。當然也因為內容十分豐富,題目難度也相對提升不少,本次僅會挑選較簡單的題目,選題的數量也較少。

當然此書也有自己的官網,裡面的solutions有連結到github上放解答的(僅解答,無講解),若各位遇到這些題目,想查看沒有提到的程式語言解法,也可以前往察看。

這裡有件有趣的事情,LeetCode與CTCI的部分題目是有重疊的,可見這些題目的經典


該怎麼做比較好

建議在看文章之前,先嘗試思考/解答題目一次,先嘗試自行解題,再來看詳解勢必會收穫更多。如果是入門新手,也建議先使用LeetCode,能先省去架設環境的步驟,也能夠有個地方對答案。

當然剛開始寫會比較抖沒錯,個人建議先求有再求好,先寫出解法再做效能的改善,先找到出路再來找最短路徑才會比較順手喔。

註記:但如果手法太暴力,LeetCode會提醒你超出時間限制而不給過關


下一篇將會挑選一題十分簡單的開胃菜,帶各位開始攻略題目之旅。


上一篇
【從面試題學邏輯-1】所以我說,為什麼要用解題開始?解題能吃嗎?
下一篇
【從面試題學邏輯-3】計算最後一詞的長度(leetcode 58. Length of Last Word)
系列文
新手也能學!一起從面試題理解程式邏輯!30

尚未有邦友留言

立即登入留言