Untitled
unknown
java
a year ago
2.6 kB
18
Indexable
public class SubSudokuValidator { public static void main(String[] args) { int[][] grid1 = {{1, 2, 3}, {3, 1, 2}, {2, 3, 1}}; int[][] grid2 = {{1, 2, 3}, {3, 2, 1}, {3, 1, 2}}; int[][] grid3 = {{1, 2, 3}, {3, 1, 2}, {2, 3, 1, 4}}; int[][] grid4 = {{1}}; int[][] grid5 = {{1, 2}, {2, 1}}; int[][] grid6 = {{1, 3, 3}, {3, 1, 2}, {2, 3, 1}}; int[][] grid7 = {{1, 2, 3, 4}, {4, 3, 2, 1}, {1, 3, 2, 4}, {4, 2, 3, 1}}; int[][] grid8 = {{1, 3}, {3, 1}, {1, 3}, {3, 1}}; int[][] grid9 = {{1, 2}, {2, 1}, {1, 2}, {2, 1}}; int[][] grid10 = {{1, 1, 1}, {1, 6, 1}, {6, 1, 1}}; int[][] grid11 = {{1, 2, 3, 4}, {2, 3, 1, 4}, {3, 1, 2, 4}, {4, 2, 3, 1}}; int[][] grid12 = {{1, -2, 1}, {-2, 1, -2}, {1, -1, 2}}; System.out.println(isValidSubSudoku(grid1)); // True System.out.println(isValidSubSudoku(grid2)); // False System.out.println(isValidSubSudoku(grid3)); // False System.out.println(isValidSubSudoku(grid4)); // True System.out.println(isValidSubSudoku(grid5)); // False System.out.println(isValidSubSudoku(grid6)); // False System.out.println(isValidSubSudoku(grid7)); // False System.out.println(isValidSubSudoku(grid8)); // False System.out.println(isValidSubSudoku(grid9)); // False System.out.println(isValidSubSudoku(grid10)); // False System.out.println(isValidSubSudoku(grid11)); // False System.out.println(isValidSubSudoku(grid12)); // False } public static boolean isValidSubSudoku(int[][] grid) { int n = grid.length; // Check each row and column for (int i = 0; i < n; i++) { if (!isValidArray(grid[i]) || !isValidColumn(grid, i)) { return false; } } return true; } private static boolean isValidArray(int[] arr) { int n = arr.length; boolean[] seen = new boolean[n + 1]; for (int num : arr) { if (num < 1 || num > n || seen[num]) { return false; } seen[num] = true; } return true; } private static boolean isValidColumn(int[][] grid, int col) { int n = grid.length; boolean[] seen = new boolean[n + 1]; for (int i = 0; i < n; i++) { int num = grid[i][col]; if (num < 1 || num > n || seen[num]) { return false; } seen[num] = true; } return true; } }
Editor is loading...
Leave a Comment