iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0

接觸LeetCode 的時間其實沒有很長,對它還是有點陌生,以前也不是用 Python 來解題,藉由這次的鐵人賽更深入的了解了解 LeetCode 的題型,順便學習用 Python 來解題,看看能不能用比較生活化、理解式的方式來掌握這些演算法的概念。


前幾天的題目主要是 陣列基礎題,像是:

  • Day4 Two Sum:經典入門題,學會用「哈希表」來快速找出答案,不用一直重複迴圈
  • Day5~Day8(Single Number、Contains Duplicate 系列):練習用集合 set() 和字典 dict() 來檢查重複或唯一值
  • Day9 Valid Anagram:第一次練到字串的處理,體會到排序和計數的差別
  • Day10~Day11 Intersection of Two Arrays 系列:學會用集合的交集運算讓程式更簡潔

接著進入中段(Day12~Day16),是一整串的 股票題系列,要思考「什麼時候買、什麼時候賣才最賺」,還牽涉到「冷卻期」和「交易手續費」等等

後面幾天(Day17~Day25)主要是 陣列操作與排序邏輯:

  • Move Zeroes、Rotate Array:讓我理解「雙指標法」的重要性
  • Remove Element / Remove Duplicates 系列 / Merge Sorted Array:學會了「in-place 操作」的技巧,也能更清楚記憶體效率的概念
  • Majority Element / Missing Number:讓我練習用數學或哈希法簡化題目

最後這幾題(Day26~Day29)是關於 字串處理與邏輯判斷:

  • Valid Parentheses、Longest Common Prefix、Valid Palindrome、First Unique Character in a String
  • 這些題目雖然看起來不同,但共通點是要懂得如何「遍歷字串」並善用「堆疊 stack」或「字典 dict」來紀錄狀態。

上一篇
Day29 First Unique Character in a String
系列文
從零開始學習LeetCode30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言