• 課程時長

    12 小時 44 分

  • 課程級別

    中級

  • 授課語言

    中文

這堂課你將會學到

  • 熟悉 20 種進階的演算法及資料結構
  • 了解正確刷題的方式及有效率的解 40 題進階面試題
  • 培養解題脈絡,提升白板題的表現
  • 面對程式面試的準備策略和建議

章節目錄

  • 1

    第 1 章 進階篇導論及複習:面試應對、複雜度、本門課程概況

    • 單元 1 - 進階篇導論及複習:面試應對、複雜度、本門課程概況

  • 2

    第 2 章 解題的演算法選擇技巧:字串操作

    • 單元 1 - 字串操作 介紹

    • 單元 2 - 字串操作 的適用範圍

    • 單元 3 - 例題1: 0067. Add Binary 題目說明

    • 單元 4 - 例題1: 0067. Add Binary 解題

    • 單元 5 - 例題1: 0067. Add Binary 解題 (取巧)

    • 單元 6 - 例題2: 0680. Valid Palindrome II 題目說明

    • 單元 7 - 例題2: 0680. Valid Palindrome II 解題

  • 3

    第 3 章 解題的演算法選擇技巧:陣列/串列操作

    • 單元 1 - 陣列/串列操作 介紹

    • 單元 2 - 陣列/串列操作 的適用範圍

    • 單元 3 - 例題1: 0926. Flip String to Monotone Increasing 題目說明

    • 單元 4 - 例題1: 0926. Flip String to Monotone Increasing 解題

    • 單元 5 - 例題2: 0238. Product of Array Except Self 題目說明

    • 單元 6 - 例題2: 0238. Product of Array Except Self 解題

  • 4

    第 4 章 解題的演算法選擇技巧:Two Pointers

    • 單元 1 - Two Pointers 介紹

    • 單元 2 - Two Pointers 的適用範圍

    • 單元 3 - 例題1: 0015. 3Sum 題目說明

    • 單元 4 - 例題1: 0015. 3Sum 解題

    • 單元 5 - 例題2: 0075. Sort Colors 題目說明

    • 單元 6 - 例題2: 0075. Sort Colors 解題

    • 單元 7 - 例題3: 0567. Permutation in String 題目說明 (*變形:Sliding Window)

    • 單元 8 - 例題3: 0567. Permutation in String 解題

  • 5

    第 5 章 解題的演算法選擇技巧:埃拉托斯特尼篩法 (Sieve of Eratosthenes)

    • 單元 1 - 埃拉托斯特尼篩法 介紹

    • 單元 2 - 埃拉托斯特尼篩法 的適用範圍

    • 單元 3 - 例題1: 0204. Count Primes 題目說明

    • 單元 4 - 例題1: 0204. Count Primes 解題

  • 6

    第 6 章 解題的演算法選擇技巧:摩爾投票算法 (Boyer–Moore majority vote algorithm)

    • 單元 1 - 摩爾投票算法 介紹

    • 單元 2 - 摩爾投票算法 的適用範圍

    • 單元 3 - 例題1: 0169. Majority Element 題目說明

    • 單元 4 - 例題1: 0169. Majority Element 解題

  • 7

    第 7 章 排序方法:排序方法概論

    • 單元 1 - 常見排序方法複雜度比較

    • 單元 2 - 排序方法概論

    • 單元 3 - 例題1: 0912. Sort an Array 題目說明

    • 單元 4 - 例題1: 0912. Sort an Array 解題

  • 8

    第 8 章 排序方法:泡沫排序 (Bubble Sort)

    • 單元 1 - 泡沫排序 (Bubble Sort) 介紹

    • 單元 2 - 泡沫排序 (Bubble Sort) 的適用範圍

    • 單元 3 - 例題1: 0912. Sort an Array 解題

  • 9

    第 9 章 排序方法:桶排序 (Bucket Sort)

    • 單元 1 - 桶排序 (Bucket Sort) 介紹

    • 單元 2 - 桶排序 (Bucket Sort) 的適用範圍

    • 單元 3 - 例題1: 0409. Longest Palindrome 題目說明

    • 單元 4 - 例題1: 0409. Longest Palindrome 解題

  • 10

    第 10 章 排序方法:合併排序 (Merge Sort)

    • 單元 1 - 合併排序 (Merge Sort) 介紹

    • 單元 2 - 合併排序 (Merge Sort) 的適用範圍

    • 單元 3 - 例題1: 0148. Sort List 題目說明

    • 單元 4 - 例題1: 0148. Sort List 解題

  • 11

    第 11 章 排序方法:快速排序 (Quick Sort)

    • 單元 1 - 快速排序 (Quick Sort) 介紹

    • 單元 2 - 快速排序 (Quick Sort) 的適用範圍

    • 單元 3 - 例題1: 0215. Kth Largest Element in an Array 題目說明

    • 單元 4 - 例題1: 0215. Kth Largest Element in an Array 解題

  • 12

    第 12 章 深度優先搜尋 (DFS) Part 1

    • 單元 1 - 深度優先搜尋 (DFS) 介紹

    • 單元 2 - 深度優先搜尋 (DFS) 的適用範圍

    • 單元 3 - 例題1: 0687. Longest Univalue Path 題目說明

    • 單元 4 - 例題1: 0687. Longest Univalue Path 解題

    • 單元 5 - 例題2: 0576. Out of Boundary Paths 題目說明

    • 單元 6 - 例題2: 0576. Out of Boundary Paths 解題

  • 13

    第 13 章 深度優先搜尋 (DFS) Part 2

    • 單元 1 - 例題1: 0236. Lowest Common Ancestor of a Binary Tree 題目說明

    • 單元 2 - 例題1: 0236. Lowest Common Ancestor of a Binary Tree 解題

    • 單元 3 - 例題2: 0114. Flatten Binary Tree to Linked List 題目說明

    • 單元 4 - 例題2: 0114. Flatten Binary Tree to Linked List 解題

  • 14

    第 14 章 廣度優先搜尋 (BFS) Part 1

    • 單元 1 - 廣度優先搜尋 (BFS) 介紹

    • 單元 2 - 廣度優先搜尋 (BFS) 的適用範圍

    • 單元 3 - 例題1: 0111. Minimum Depth of Binary Tree 題目說明

    • 單元 4 - 例題1: 0111. Minimum Depth of Binary Tree 解題

    • 單元 5 - 例題2: 0993. Cousins in Binary Tree 題目說明

    • 單元 6 - 例題2: 0993. Cousins in Binary Tree 解題

  • 15

    第 15 章 廣度優先搜尋 (BFS) Part 2

    • 單元 1 - 例題1: 0199. Binary Tree Right Side View 題目說明

    • 單元 2 - 例題1: 0199. Binary Tree Right Side View 解題

    • 單元 3 - 例題2: 0994. Rotting Oranges 題目說明

    • 單元 4 - 例題2: 0994. Rotting Oranges 解題

  • 16

    第 16 章 回溯法 (Backtracking)

    • 單元 1 - 回溯法 (Backtracking) 介紹

    • 單元 2 - 回溯法 (Backtracking) 的適用範圍

    • 單元 3 - 例題1: 0037. Sudoku Solver 題目說明

    • 單元 4 - 例題1: 0037. Sudoku Solver 解題

    • 單元 5 - 例題2: 0051. N-Queens 題目說明

    • 單元 6 - 例題2: 0051. N-Queens 解題

  • 17

    第 17 章 貪婪演算法 (Greedy Algorithm)

    • 單元 1 - 貪婪演算法 (Greedy Algorithm) 介紹

    • 單元 2 - 貪婪演算法 (Greedy Algorithm) 的適用範圍

    • 單元 3 - 例題1: 0055. Jump Game 題目說明

    • 單元 4 - 例題1: 0055. Jump Game 解題

    • 單元 5 - 例題2: 0134. Gas Station 題目說明

    • 單元 6 - 例題2: 0134. Gas Station 解題

  • 18

    第 18 章 資料結構:堆疊 (Stack)

    • 單元 1 - 堆疊 (Stack) 介紹

    • 單元 2 - 堆疊 (Stack) 的適用範圍

    • 單元 3 - 例題1: 0020. Valid Parentheses 題目說明

    • 單元 4 - 例題1: 0020. Valid Parentheses 解題

    • 單元 5 - 例題2: 0071. Simplify Path 題目說明

    • 單元 6 - 例題2: 0071. Simplify Path 解題

  • 19

    第 19 章 資料結構:佇列 (Queue)

    • 單元 1 - 佇列 (Queue) 介紹

    • 單元 2 - 佇列 (Queue) 的適用範圍

    • 單元 3 - 例題1: 0429. N-ary Tree Level Order Traversal 題目說明

    • 單元 4 - 例題1: 0429. N-ary Tree Level Order Traversal 解題

    • 單元 5 - 例題2: 1161. Maximum Level Sum of a Binary Tree 題目說明

    • 單元 6 - 例題2: 1161. Maximum Level Sum of a Binary Tree 解題

    • 單元 7 - 例題2解法修改

  • 20

    第 20 章 資料結構:字典樹 (Trie)

    • 單元 1 - 字典樹 (Trie) 介紹

    • 單元 2 - 字典樹 (Trie) 的適用範圍

    • 單元 3 - 例題1: 0208. Implement Trie (Prefix Tree) 題目說明

    • 單元 4 - 例題1: 0208. Implement Trie (Prefix Tree) 解題

    • 單元 5 - 例題2: 0212. Word Search II 題目說明

    • 單元 6 - 例題2: 0212. Word Search II 解題

  • 21

    第 21 章 資料結構:二元樹 (Binary Tree) Part 2

    • 單元 1 - 二元樹 (Binary Tree) 複習

    • 單元 2 - 例題1: 0124. Binary Tree Maximum Path Sum 題目說明

    • 單元 3 - 例題1: 0124. Binary Tree Maximum Path Sum 解題

    • 單元 4 - 例題2: 1008. Construct Binary Search Tree from Preorder Traversal 題目說明

    • 單元 5 - 例題2: 1008. Construct Binary Search Tree from Preorder Traversal 解題

  • 22

    第 22 章 資料結構:堆積 (Heap)

    • 單元 1 - 堆積 (Heap) 介紹

    • 單元 2 - 堆積 (Heap) 的適用範圍

    • 單元 3 - 例題1: 1046. Last Stone Weight 題目說明

    • 單元 4 - 例題1: 1046. Last Stone Weight 解題

    • 單元 5 - 例題2: 0451. Sort Characters By Frequency 題目說明

    • 單元 6 - 例題2: 0451. Sort Characters By Frequency 解題

  • 23

    第 23 章 資料結構:鏈結串列 (Linked List) Part 2

    • 單元 1 - 鏈結串列 (Linked List) 複習

    • 單元 2 - 例題1: 0061. Rotate List 題目說明

    • 單元 3 - 例題1: 0061. Rotate List 解題

    • 單元 4 - 例題2: 0141. Linked List Cycle 題目說明

    • 單元 5 - 例題2: 0141. Linked List Cycle 解題

  • 24

    第 24 章 動態規劃 (Dynamic Programming) Part 3

    • 單元 1 - 動態規劃 (Dynamic Programming) 複習

    • 單元 2 - 例題1: 0091. Decode Ways 題目說明

    • 單元 3 - 例題1: 0091. Decode Ways 解題

    • 單元 4 - 例題2: 0064. Minimum Path Sum 題目說明

    • 單元 5 - 例題2: 0064. Minimum Path Sum 解題

  • 25

    第 25 章 動態規劃 (Dynamic Programming) Part 4

    • 單元 1 - 例題1: 0096. Unique Binary Search Trees 題目說明

    • 單元 2 - 例題1: 0096. Unique Binary Search Trees 解題

    • 單元 3 - 例題2: 1035. Uncrossed Lines 題目說明

    • 單元 4 - 例題2: 1035. Uncrossed Lines 解題

  • 26

    第 26 章 課程社團

    • 單元 1 - FB專屬課程社團公告