Tag: dynamic-programming
11 รายการ
Blog
LeetCode 55 Jump Game: ไปถึงปลายทางด้วย greedy แบบไม่แบกตาราง
เทียบ forward reach, backward goal และ dynamic programming พร้อม complexity, edge cases, decision table และ Python tests
LeetCode #62 Unique Paths: นับทางเดินด้วย memo, DP และคณิตศาสตร์
เทียบ top-down, bottom-up และ combinatorics พร้อม complexity, decision table และ Python tests
LeetCode #139 Word Break: ต่อคำให้เต็มสตริงโดยไม่หลงทางซ้ำ
เทียบ DP, memoized DFS, BFS และ trie พร้อม decision table และ Python unittest ที่รันจริง
LeetCode #39 Combination Sum: เลือกซ้ำได้ แต่ห้ามสร้างคำตอบซ้ำ
เทียบ include-skip, sorted backtracking และ bottom-up DP พร้อม pruning และ decision table
LeetCode #198 House Robber: DP บ้านคู่กันห้ามปล้น — จากอาร์เรย์สู่ตัวแปรสองตัว
อธิบาย House Robber สามระดับ: DP อาร์เรย์, rolling variables, และเมื่อไหร่ไม่ควร recursion ดิบ
LeetCode #300 LIS: จาก DP ตารางตรงไปตรงมาถึง patience sorting และ Fenwick tree
เทียบสามวิธีหา longest increasing subsequence พร้อม strict-increasing detail, complexity และ unittest
LeetCode #5 Longest Palindromic Substring: ขยายจากกลาง, DP หรือ Manacher
เทียบสามวิธีหาพาลินโดรมยาวสุด พร้อม complexity, edge cases, decision table และ unittest ที่รันจริง

LeetCode #322 Coin Change: แลกเหรียญให้น้อยสุดด้วย DP
เทียบ greedy, BFS ตามจำนวนเหรียญ และ bottom-up DP พร้อมเคสแลกไม่ได้และเหรียญซ้ำค่า

LeetCode #70 Climbing Stairs: ก้าว 1 หรือ 2 แล้วจำผลย่อย
เทียบ recursion, memo, bottom-up DP และสูตรปิด พร้อม tradeoff และเคสบันไดสั้น
LeetCode #53 Maximum Subarray: Kadane จากคำถามว่าจะต่อหรือเริ่มใหม่
เทียบ brute force, prefix minimum, Kadane และ divide-and-conquer พร้อมเคสเลขลบล้วนและ unittest
LeetCode #121 Best Time to Buy and Sell Stock: จำราคาต่ำสุดครั้งเดียว
เทียบสี่วิธีแก้โจทย์หุ้นหนึ่งธุรกรรม ตั้งแต่ลองทุกคู่ถึง one-pass พร้อม complexity และ unittest