iT邦幫忙

0

LEETCODE 解題目思路與做專案的直接聯關連性, 網友詢問我

本篇同步登在我的個人網站內

網友問詢我,因為他本身是程式設計初學者,之前工作沒有寫過程式的經驗。
他的問題:
(1)剛開始學寫程式,
很習慣的去參考解答再回頭理解題目思路,
這樣會不會其實沒辦法進步?

(2)leetcode的這些題目和一般做程式語言專案
(比如說:一個爬蟲程式)
訓練的程式有什麼直接關聯性呢?
Verstion: 2022080101

Billour Ou 回覆:
(1)剛開始學寫程式..
如果你是預計要進行程式考試,
你的做法是正確的,

  1. 先做Leetcode題目。
  2. 如果思考超過20分鐘,馬上看解答。

這個方式也是目前2022年,前人推薦的應試方法。

• 「以戰養戰、訓練邏輯思維」。

Leetcode寫久了,你就會「下意識」反應解決問題的方案,
寫久了,解決問題的能力會大大提升。

(2)leetcode的這些題目...直接關聯性?
在台灣的資訊工程系,課程裡面有教學「資料結構、演算法」,
其實,Leetcode 就是上述兩個的結合。

Leetcode 的題目跟一般做程式語言專案(like 爬蟲程式)的關聯性:
專案的最核心的演算法,是跟 Leetcode 題目有相關的,
大約15%左右,
這15%就是專案的最重要的核心,
這跟軟體專案的「執行效能」有很大的關係。

Billour的觀點,
Leetcode 是現在主流分辨,程式設計師程度的考試方案,
就練習吧。
寫Leetcode沒有什麼理由,
就是公司要考試,
我就去寫,
這麼簡單。

Billour 的1對1分析網友的信件:
我覺得,這個網友的邏輯程度,很好,
寫信都有「結構」,且把自已想要問的問題,重點式列在信件裡。

「邏輯思維」是寫程式最重要的部份,
我覺得這位網友,很適合程式設計師的工作。

https://ithelp.ithome.com.tw/upload/images/20220815/20126723QZfrTN708y.png
(圖1)

  1. 前言
  2. 問題
  3. 結尾

Billour額外題供的資訊:
程式設計師的本質是「發現問題、解決問題」。
• 為什麼要刷Leetcode
每個人去寫Leetcode 都有自身的理由,
你想要先想好為什麼,
你要去寫Leetcode,
給自已一個合理的解由。

Billour是在2022收到Google Technical Lead 的面試邀約,
所以我自已是必須去寫Leetcode。

• Leetcode 解題的三個重程序:

  1. 看懂英文題目
  2. 寫的出來程式
  3. 分析此程式的Big O (效能分析)

• 挫折Frustration
每個人寫Leetcode 時常會讓人感到空虛、寂寞、冷,
因為你生活週遭的家人、朋友、同事根本不知道什麼叫Leetcode,
他們也不知道如何協助你,
無法幫助你成長、指引你朝向正確的道路,
甚至,寫Leetcode試題的人,本身也不確定,自已是否走在正確的方向。

這有點像是一台遺失GPS的汽車,
只能走一步算一步,
漸進式的探索未知的地圖,
失敗了、走錯路了,
又開著汽車,往回走。

這個過程充滿挫折、
但是,我們(程式設計師)都是這樣走過來的,
我們對於未知的問題,
提供解決的方案,
嘗試解決問題,
而Leetcode 就是在模擬,
你在面對於未知的問題時,
你是否有能力「解決問題」。

使用「資料結構 Data Structure」是比較好的學習方式,
Leetcode 試題裡面充滿著 資料結構,
從資料結構 身上學習「解決方案」,
再加以改進。

以上。
祝你順心。

本篇不開放留言
如果有事情找我,請到Linkedin,謝謝
轉貼政策:著明作者 Billour Ou 歐育溙 就可以自由轉貼。

關於作者:
Billour Ou
歐育溙 的資歷

簡歷:
Google Technical Lead 面試邀請
Yahoo bid, 百萬成功賣家
台灣教育部 DSP 競賽全國, 第一名


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言