Tag: dynamic-programming

11 รายการ

Blog

นากกายต้นฉบับกำลังวางแผ่นก้าวข้ามช่องว่างไปยังปลายรางสีเขียว
leetcodepythongreedy

LeetCode 55 Jump Game: ไปถึงปลายทางด้วย greedy แบบไม่แบกตาราง

เทียบ forward reach, backward goal และ dynamic programming พร้อม complexity, edge cases, decision table และ Python tests

พี่โชว์
นากต้นฉบับสำรวจทางเดินหลายเส้นในตารางจากมุมหนึ่งไปอีกมุมบนฉากสว่าง
leetcodepythondynamic-programming

LeetCode #62 Unique Paths: นับทางเดินด้วย memo, DP และคณิตศาสตร์

เทียบ top-down, bottom-up และ combinatorics พร้อม complexity, decision table และ Python tests

พี่โชว์
นากแม่น้ำสีมิ้นต์ต้นฉบับกำลังต่อแผ่นคำไร้อักษรหลายขนาดให้ปิดช่องทางเดินพอดีโดยไม่เหลือรอยแยก
leetcodealgorithmsdynamic-programming

LeetCode #139 Word Break: ต่อคำให้เต็มสตริงโดยไม่หลงทางซ้ำ

เทียบ DP, memoized DFS, BFS และ trie พร้อม decision table และ Python unittest ที่รันจริง

พี่โชว์
นากกายสีมิ้นต์จัดก้อนรูปทรงซ้ำได้ลงถาดหลายชุด โดยแต่ละชุดพอดีกับกรอบเป้าหมายเดียวกัน
leetcodealgorithmsbacktracking

LeetCode #39 Combination Sum: เลือกซ้ำได้ แต่ห้ามสร้างคำตอบซ้ำ

เทียบ include-skip, sorted backtracking และ bottom-up DP พร้อม pruning และ decision table

พี่โชว์
แถวบ้านของเล่นบนโต๊ะมิ้นต์ บ้านที่ถูกเลือกมีธงอำพันไม่ติดกัน
leetcodepythondynamic-programming

LeetCode #198 House Robber: DP บ้านคู่กันห้ามปล้น — จากอาร์เรย์สู่ตัวแปรสองตัว

อธิบาย House Robber สามระดับ: DP อาร์เรย์, rolling variables, และเมื่อไหร่ไม่ควร recursion ดิบ

น้องกาย
งูต้นฉบับจัดแท่งความสูงบนถาดหลายกองและชี้เส้นทางเพิ่มขึ้นที่ยาวที่สุดด้วยริบบิ้นสีส้ม
leetcodepythondynamic-programming

LeetCode #300 LIS: จาก DP ตารางตรงไปตรงมาถึง patience sorting และ Fenwick tree

เทียบสามวิธีหา longest increasing subsequence พร้อม strict-increasing detail, complexity และ unittest

พี่โชว์
งูต้นฉบับเลื่อนกระจกสองด้านจากจุดกึ่งกลางของแถวลูกปัดเพื่อหาช่วงสมมาตรยาวที่สุด
leetcodepythonstrings

LeetCode #5 Longest Palindromic Substring: ขยายจากกลาง, DP หรือ Manacher

เทียบสามวิธีหาพาลินโดรมยาวสุด พร้อม complexity, edge cases, decision table และ unittest ที่รันจริง

พี่โชว์
เหรียญหลายขนาดวางบนโต๊ะมิ้นต์สว่าง เรียงจากน้อยไปมากเพื่อแลกเป็นยอดรวม
leetcodealgorithmsdynamic-programming

LeetCode #322 Coin Change: แลกเหรียญให้น้อยสุดด้วย DP

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

น้องกาย
บันไดไม้สว่างบนโต๊ะมิ้นต์ มีก้าวทีละหนึ่งและสองขั้นสลับกันเป็นทางขึ้น
leetcodealgorithmsdynamic-programming

LeetCode #70 Climbing Stairs: ก้าว 1 หรือ 2 แล้วจำผลย่อย

เทียบ recursion, memo, bottom-up DP และสูตรปิด พร้อม tradeoff และเคสบันไดสั้น

น้องกาย
นากกายสีมิ้นต์ต้นฉบับเลือกช่วงต่อเนื่องสีอำพันจากเส้นขึ้นลงบนพื้นมิ้นต์
leetcodealgorithmsdynamic-programming

LeetCode #53 Maximum Subarray: Kadane จากคำถามว่าจะต่อหรือเริ่มใหม่

เทียบ brute force, prefix minimum, Kadane และ divide-and-conquer พร้อมเคสเลขลบล้วนและ unittest

น้องกาย
นากกายสีมิ้นต์ต้นฉบับยืนบนขั้นบันไดราคาที่สูงขึ้นและชี้เส้นทางสีอำพันจากต่ำไปสูง
leetcodealgorithmsarrays

LeetCode #121 Best Time to Buy and Sell Stock: จำราคาต่ำสุดครั้งเดียว

เทียบสี่วิธีแก้โจทย์หุ้นหนึ่งธุรกรรม ตั้งแต่ลองทุกคู่ถึง one-pass พร้อม complexity และ unittest

น้องกาย