Class Solution
- java.lang.Object
-
- g2101_2200.s2132_stamping_the_grid.Solution
-
public class Solution extends Object
2132 - Stamping the Grid.Hard
You are given an
m x n
binary matrixgrid
where each cell is either0
(empty) or1
(occupied).You are then given stamps of size
stampHeight x stampWidth
. We want to fit the stamps such that they follow the given restrictions and requirements:- Cover all the empty cells.
- Do not cover any of the occupied cells.
- We can put as many stamps as we want.
- Stamps can overlap with each other.
- Stamps are not allowed to be rotated.
- Stamps must stay completely inside the grid.
Return
true
if it is possible to fit the stamps while following the given restrictions and requirements. Otherwise, returnfalse
.Example 1:
Input: grid = [[1,0,0,0],[1,0,0,0],[1,0,0,0],[1,0,0,0],[1,0,0,0]], stampHeight = 4, stampWidth = 3
Output: true
Explanation: We have two overlapping stamps (labeled 1 and 2 in the image) that are able to cover all the empty cells.
Example 2:
Input: grid = [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]], stampHeight = 2, stampWidth = 2
Output: false
Explanation: There is no way to fit the stamps onto all the empty cells without the stamps going outside the grid.
Constraints:
m == grid.length
n == grid[r].length
1 <= m, n <= 105
1 <= m * n <= 2 * 105
grid[r][c]
is either0
or1
.1 <= stampHeight, stampWidth <= 105
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
possibleToStamp(int[][] grid, int h, int w)
-