iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
佛心分享-刷題不只是刷題

[30天LeetCode挑戰] 每天一點演算法,讓技巧融會貫通 系列

這次的iThome鐵人賽,我計劃用30天的時間,每天分享LeetCode刷題的思路與解題技巧,並將過程中學到的演算法知識內化成自己的表達方式。這次比賽對自己的期許:不僅能夠正確解出題目,還要深入理解每個演算法,將其靈活運用。

背景電子工程系,經常使用Python等語言進行開發,但沒有系統學習過演算法,目前胡亂刷過約30題,主要集中在Easy難度,Medium題目只佔不到5%。

策略:將題目按照所涉及的演算法類型進行分類,並在每天刷完題後撰寫演算法筆記,加深記憶、增強對演算法的掌握。

趕在報名截止前決定參賽,目的是給自己持續學習的動力,期待這次挑戰能讓我在演算法上有所突破!

參賽天數 13 天 | 共 13 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

[30天LeetCode挑戰] 01前情提要與刷題策略+BigO複雜度與DFS/BFS筆記

前情提要 今天是挑戰的第一天,先來歸納一下我這30天內需要達成的目標及挑戰內容,並從我的背景開始講起。 本身畢業於電子工程系,經常使用Python等語言進行開發...

2024-09-15 ‧ 由 很懶欸 分享
DAY 2

[Day02] 關於DFS/BFS的3道題目筆記(112,733,200)

112. Path Sum [Easy]### 在二元樹中,判斷是否存在一條從根到葉子的路徑,路徑上節點值的總和等於 targetSum。 class Solu...

2024-09-16 ‧ 由 很懶欸 分享
DAY 3

[Day03] 關於DFS/BFS的4道題目筆記(257,994,199,752)

257. Binary Tree Paths 給定一棵 Binary Tree,要求找出所有從根節點到葉子節點的路徑,並以字符串形式返回,每一條路徑以「-&gt...

2024-09-17 ‧ 由 很懶欸 分享
DAY 4

[Day04] Array & List + Stack & Queue 筆記 LeetCode第232題題目筆記

前言 今天要學習的內容雖然很基礎,但卻是許多進階算法的根基。這些資料結構在解題時非常常用,不管是操作數組、處理鏈表,還是實現棧與佇列,理解它們的概念和應用至關重...

2024-09-18 ‧ 由 很懶欸 分享
DAY 5

[Day05] 線性排序法筆記+LeetCode第1365題題目筆記

線性排序法 線性排序(Linear sort),指的是時間複雜度為O(n)的排序演算法,之所以時間複雜度能達到線性,是因為這種排序非基於比較的,但它的適用場景也...

2024-09-19 ‧ 由 很懶欸 分享
DAY 6

[Day06] 五大演算法策略筆記

五大演算法策略 枚舉法 枚舉法是一種通過列舉所有可能解,然後篩選出符合條件或最優解的解題方法,也教作暴力破解法,適合於解決問題規模較小的情況。 特點 全解空...

2024-09-20 ‧ 由 很懶欸 分享
DAY 7

[Day07] 本週小結+題目練習(121,206,75)

題目練習 請ChatGPT幫我根據本週學習到的類型,隨機出幾道題目。 121. Best Time to Buy and Sell Stock 要求我們在一個股...

2024-09-21 ‧ 由 很懶欸 分享
DAY 8

[Day08] 二元樹:前/中/後序遍歷筆記

本週目標 進入挑戰的第二週了,這週的單元為"Tree",理解二元樹結構與其前/中/後序遍歷邏輯,以及學習二元樹搜索演算法,包含: Quic...

2024-09-22 ‧ 由 很懶欸 分享
DAY 9

[Day09] Quick Sort、Merge Sort、Tree Sort 筆記

二元搜索樹 Quick Sort(快速排序) Quick Sort 是一種分治法的排序演算法。它的核心思想是選取一個基準值(pivot),將數列分成兩部分,左邊...

2024-09-23 ‧ 由 很懶欸 分享
DAY 10

[Day10] 關於二元樹、BST、Quick Sort、Merge Sort的刷題筆記(144, 145, 98)

繼續刷題 按照慣例,請ChatGPT幫我根據學習範圍出題,二元樹、BST、Tree Sort、Quick Sort、Merge Sort主題的LeetCode題...

2024-09-24 ‧ 由 很懶欸 分享