本系列文將會從動態規劃演算法的基礎概念開始介紹,並從Easy到Hard由淺入深介紹Leetcode上各種適用動態規劃來解題的題型,讓讀者也能掌握動態規劃演算法背後的思維方式,將其舉一反三應用在多變的題型上。
本文大綱 引言 LeetCode 介紹 Python 複習 list(列表)與string(字串)的切片 generator 與 list comprehe...
何謂動態規劃 實際上,與其說動態規劃是一個演算法,不如說其描述的是「一群演算法」背後共通的拆解邏輯更為恰當。動態規劃的核心概念分為兩個部分: 將複雜的母問題...
在上一篇,我們簡介了動態規劃的基本概念與解題時應用的兩種策略。 今天開始,我們會從Easy難度入門,介紹各種不同的動態規劃題型與解題時的訣竅。 若各位讀者有時間...
🟨扒手I 本題取自 Leetcode 198. House Robber 題目 You are a professional robber planning t...
🟨扒手I 回顧 在昨天的文章中留下了一個伏筆:能否換一個思路進行扒手問題的分治法,設計狀態,並且得到對應的轉移式? 題目是 Leetcode 198. Hous...
前面幾天我們做了幾道題,熟悉了一維數列形式的1-D DP題型,在這類問題中狀態是單一的(例如爬樓梯問題的第i階、扒手問題的第i間房...等等)。 接下來,讓我們...
🟨三角形 本題取自 Leetcode 120. Triangle 題目 Given a triangle array, return the minimum p...
🟨最大正方形 本題取自 Leetcode 221. Maximal Square 題目 Given an m x n binary matrix filled...
今天我們來看一個字串類的經典題型:最長回文子字串(LPS) 題目:🟨最長回文子字串(LPS) 本題取自 Leetcode 5. Longest Palindro...
今天我們繼續看一題字串類型的題目:拆字。 🟨拆字 本題取自 Leetcode 139. Word Break 題目 Given a string s and a...