221. Maximal Square - Medium
前往題目
想法
- 只想得到暴力解
- 覺得優化應該是從側邊開始,根據以往經驗,因為這樣才能
memorize
同時確保每次只有一種狀況,往內推進的時候也都能用到cache
思路
Top down
- 從左上開始
- 每個
cell
都檢查其右、下,斜右下,藉以更新當前cell
- 直到最後就會得到一個紀錄每個格子最大
square
的表格
Time: O(M * N)
Space: O(M * N)
Bottom up(DP)
- 從右下開始逐步蔓延,方法和
top down
一樣
Time: O(M * N)
Space: O(M * N)
這題的DP
很好懂
Code
照著neetcode大大的code
來寫卻是TLE
,只好換成dp
以下解法TLE
DP解法
221. Maximal Square - Medium
https://f88083.github.io/2024/01/10/221-Maximal-Square-Medium/