Back to Practice Dashboard
Competitive ProgrammingHard
Maximum Size Square Sub Matrix
Learn how to solve the 'Maximum Size Square Sub Matrix' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Hard
Write a function max_square_submatrix(matrix) that finds the side length of the maximum square sub-matrix composed entirely of 1s in a given binary matrix.
Constraints
- •1 <= len(matrix), len(matrix[0]) <= 500
- •matrix[i][j] is either 0 or 1
Examples
Example 1
Input
max_square_submatrix([[0, 1, 1, 0, 1], [1, 1, 0, 1, 0], [0, 1, 1, 1, 0], [1, 1, 1, 1, 0], [1, 1, 1, 1, 1], [0, 0, 0, 0, 0]])
Output
3
Explanation
The maximum size square sub-matrix of 1s has size 3x3, located from row 2 to 4 and column 1 to 3.
Example 2
Input
max_square_submatrix([[1, 1], [1, 1]])
Output
2
Explanation
The entire matrix is a 2x2 square of 1s.
Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.