Add Maximal Square dynamic programming algorithm in R #208
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a complete and well-documented implementation of the Maximal Square problem in R.
Overview
The implementation provides solutions to find the area of the largest square containing only 1s in a binary matrix. It includes both a 2D DP approach with padding and a 1D space-optimized variant, along with embedded examples and explanatory comments.
Features
dp[r+1][c+1] = 1 + min(dp[r][c+1], dp[r+1][c], dp[r][c])
whenmatrix[r][c] == 1
area = max_side^2
'0'
/'1'
) and numeric (0
/1
) matricesComplexity
Directory
DIRECTORY.md
to include “Maximal Square” under Dynamic ProgrammingDemonstration
Run the script to execute built-in examples:
From Windows command line:
Rscript "R/dynamic_programming/maximal_square.r"