diff --git a/app/src/main/java/sudoku/Solver.java b/app/src/main/java/sudoku/Solver.java index c171c8a..1fea9c7 100644 --- a/app/src/main/java/sudoku/Solver.java +++ b/app/src/main/java/sudoku/Solver.java @@ -7,16 +7,10 @@ public class Solver implements SudokuSolver { board = new int[9][9]; } - /** - * {@inheritDoc} - */ public void setBoard(int[][] board) { this.board = board; } - /** - * {@inheritDoc} - */ public int[][] getBoard() { return board; } @@ -28,9 +22,6 @@ public class Solver implements SudokuSolver { board = new int[9][9]; } - /** - * {@inheritDoc} - */ public boolean solve() { return solve(0, 0); } @@ -47,7 +38,6 @@ public class Solver implements SudokuSolver { return false; } - // If row is 9, drop down to the next column, if column is 9, we are done if (row == 9) { row = 0; if (++col == 9) { @@ -55,17 +45,13 @@ public class Solver implements SudokuSolver { } } - // If we have a "number" in the current cell - // recursively call solve() on the next cell if (board[row][col] != 0) { return solve(row + 1, col); } - // Check for legal values in the current cell for (int val = 1; val <= 9; ++val) { if (legal(row, col, val)) { board[row][col] = val; - // When we find a legal value, recursively call solve() on the next cell if (solve(row + 1, col)) { return true; } @@ -105,7 +91,12 @@ public class Solver implements SudokuSolver { } /** - * {@inheritDoc} + * Checks if val is legal in the given row, column, and 3x3 box + * + * @param row row to check + * @param col column to check + * @param val value to check + * @return true if val is legal */ public boolean legal(int row, int col, int val) { if (row < 0 || row >= 9 || col < 0 || col >= 9 || val < 1 || val > 9) { @@ -142,11 +133,6 @@ public class Solver implements SudokuSolver { return true; } - /** - * Checks if the board is solved - * - * @return true if solved - */ public boolean isSolved() { return isSolved(0, 0); } @@ -156,7 +142,7 @@ public class Solver implements SudokuSolver { * * @param row * @param col - * @return true if solved + * @return */ private boolean isSolved(int row, int col) { // If we are at the 9th row and 0th column (the last cell), we are done