iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

LeetCode 雙刀流:Python x JavaScript 系列

許多科技公司在面試時都會有「白板題」的技術考題,也帶動近年來軟體圈瀰漫著一股「LeetCode 刷題」的風潮。面試者會把 LeetCode 視為面試準備的考古題,但我一直覺得如果只是為了面試而刷題反而失去的寫程式的初衷。因此這一次我打算從一題一題的 LeetCode 題目中,深入淺出地拆解各種面向的解法。並且試圖從 Python 與 JavaScript 兩個程式語言間轉換,探索超越程式語言之外更純粹的邏輯思考。

鐵人鍊成 | 共 30 篇文章 | 110 人訂閱 訂閱系列文 RSS系列文 團隊Outcome First 2.0
DAY 21

遞迴函式與回溯法優化

題組回顧與觀念統整 前三天的練習我們深入「遞迴(Recursion)」的方法做了一連串的實作練習,不管是在鏈結串列或是樹結構,還有其他的問題中也都能看到遞迴的...

2021-10-06 ‧ 由 WeiYuan 分享
DAY 22

LeetCode 雙刀流:53. Maximum Subarray

53. Maximum Subarray 接下來我們挑 53. Maximum Subarray 的題目,這個題目直接用窮舉或暴力法可能會有時間上的疑慮。因此...

2021-10-07 ‧ 由 WeiYuan 分享
DAY 23

LeetCode 雙刀流:70. Climbing Stairs

70. Climbing Stairs 這是一個動態規劃的經典題目「爬樓梯」,這個題目根據規則利用「遞迴」其實蠻直覺的。只是遞迴在這個題目中會存在一些效能與重...

2021-10-08 ‧ 由 WeiYuan 分享
DAY 24

LeetCode 雙刀流:62. Unique Paths

62. Unique Paths Unique Paths 也是一個蠻生活化的題目,所以我們挑選這一題再次挑戰動態規劃的概念與實作。很多人會覺得動態規劃很難理...

2021-10-09 ‧ 由 WeiYuan 分享
DAY 25

各式各樣的演算法 - Greedy、Dynamic Programming 與 Divide and Conquer

題組回顧與觀念統整 這一段我們著重在「動態規劃」優化,如何從窮舉或遞迴的方法中進一步地將結果記錄下來而不用重複計算。例如昨天的「爬第 n 階樓梯的方法數」與今...

2021-10-10 ‧ 由 WeiYuan 分享
DAY 26

刷題後的歸納與淬鍊 - 常見的解題技巧「模板」

為什麼要刷題? 在經歷過了二十天左右的刷題練習經驗,我們從不同的題目中嘗試了各種有趣的程式題目。 回到我們這個鐵人賽的初衷,還記得為什麼要刷題嗎? 就如同我們...

2021-10-11 ‧ 由 WeiYuan 分享
DAY 27

除了刷題之外的事 - Software Engineering

除了刷題之外的事 「程式設計」的練習是一種從「寫得出」程式到「寫得好」持續迭代的優化過程,在 LeetCode 刷題的過程中我們掌握的是「解決問題的能力」,特...

2021-10-12 ‧ 由 WeiYuan 分享
DAY 28

除了刷題之外的事 - Project Management

除了刷題之外的事 刷題是練習解決問題的能力的一種方法,而這裡的「問題」主要是指演算法問題。但在實務的工作場景當中,「演算法問題」只是程式工作的一小部分而已。我...

2021-10-13 ‧ 由 WeiYuan 分享
DAY 29

除了刷題之外的事 - System Architecture

除了刷題之外的事 刷題是練習解決問題的能力的一種方法,而這裡的「問題」主要是指演算法問題。但在實務的工作場景當中,「演算法問題」只是程式工作的一小部分而已。我...

2021-10-14 ‧ 由 WeiYuan 分享
DAY 30

LeetCode 刷題的只是寫好程式的第一哩路

什麼是 LeetCode? 「什麼是 LeetCode?」是整個鐵人賽系列文章的第一個主題,你現在會怎麼會回答這個問題呢? ▶ LeetCode 是一個線上解...

2021-10-15 ‧ 由 WeiYuan 分享