This practice workspace is built for desktop. Open it on a larger screen to start solving.
Maximal Square
Given an m x n binary matrix filled with the characters '0' and '1', find the largest square containing only '1's and return its area.
The classic DP recurrence: dp[i][j] is the side length of the largest all-ones square whose bottom-right corner is (i, j). If matrix[i][j] == '1' and i, j > 0, then dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]).
Examples
Constraints
- m == matrix.length
- n == matrix[i].length
- 1 <= m, n <= 300
- matrix[i][j] is '0' or '1'.
Preview Mode
This is a read-only preview of DSAMind's AI coaching. Sign up to get custom feedback on your own solution.
Your approach
- Pattern:Dynamic Programming
- Time:O(N)
- Space:O(1)
Complete approach — pattern and complexity both named.
Coach
What you got right
You correctly matched the sorted input requirement and implemented a linear-time scan using two pointers.
Where it diverged
No divergence detected. The code correctly aligns with the stated approach.
Next attempt: focus on
Try solving related sliding window problems to build familiarity with two-pointer variants.
Signals
No signals fired — clean run, you stayed in flow.