public static boolean contains(Grid grid, Grid pattern, int startRow, int startColumn) { int maxRow = startRow + pattern.getNumberRows() - 1; int maxColumn = startColumn + pattern.getNumberColumns() - 1; for (int r = startRow, pr = 0; r <= maxRow; r++, pr++) { for (int c = startColumn, pc = 0; c <= maxColumn; c++, pc++) { if (grid.get(r, c) != pattern.get(pr, pc)) { return false; } } } return true; }
public static boolean contains(Grid grid, Grid pattern) { int maxRow = grid.getNumberRows() - pattern.getNumberRows(); int maxColumn = grid.getNumberColumns() - pattern.getNumberColumns(); for (int r = 0; r <= maxRow; r++) { for (int c = 0; c <= maxColumn; c++) { if (contains(grid, pattern, r, c)) { return true; } } } return false; }