mirror of https://github.com/01-edu/public.git
amin
3 months ago
committed by
zanninso
2 changed files with 104 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||||||
|
public class ExerciseRunner { |
||||||
|
public static void main(String[] args) { |
||||||
|
ValidSudoku validSudoku = new ValidSudoku(); |
||||||
|
|
||||||
|
// Test case 1
|
||||||
|
char[][] board1 = { |
||||||
|
{'5', '3', '.', '.', '7', '.', '.', '.', '.'}, |
||||||
|
{'6', '.', '.', '1', '9', '5', '.', '.', '.'}, |
||||||
|
{'.', '9', '8', '.', '.', '.', '.', '6', '.'}, |
||||||
|
{'8', '.', '.', '.', '6', '.', '.', '.', '3'}, |
||||||
|
{'4', '.', '.', '8', '.', '3', '.', '.', '1'}, |
||||||
|
{'7', '.', '.', '.', '2', '.', '.', '.', '6'}, |
||||||
|
{'.', '6', '.', '.', '.', '.', '2', '8', '.'}, |
||||||
|
{'.', '.', '.', '4', '1', '9', '.', '.', '5'}, |
||||||
|
{'.', '.', '.', '.', '8', '.', '.', '7', '9'} |
||||||
|
}; |
||||||
|
System.out.println("Is board1 valid? " + validSudoku.isValidSudoku(board1)); // Expected output: true
|
||||||
|
|
||||||
|
// Test case 2
|
||||||
|
char[][] board2 = { |
||||||
|
{'8', '3', '.', '.', '7', '.', '.', '.', '.'}, |
||||||
|
{'6', '.', '.', '1', '9', '5', '.', '.', '.'}, |
||||||
|
{'.', '9', '8', '.', '.', '.', '.', '6', '.'}, |
||||||
|
{'8', '.', '.', '.', '6', '.', '.', '.', '3'}, |
||||||
|
{'4', '.', '.', '8', '.', '3', '.', '.', '1'}, |
||||||
|
{'7', '.', '.', '.', '2', '.', '.', '.', '6'}, |
||||||
|
{'.', '6', '.', '.', '.', '.', '2', '8', '.'}, |
||||||
|
{'.', '.', '.', '4', '1', '9', '.', '.', '5'}, |
||||||
|
{'.', '.', '.', '.', '8', '.', '.', '7', '9'} |
||||||
|
}; |
||||||
|
System.out.println("Is board2 valid? " + validSudoku.isValidSudoku(board2)); // Expected output: false
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,71 @@ |
|||||||
|
## Valid Sudoku |
||||||
|
|
||||||
|
### Instructions |
||||||
|
|
||||||
|
Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: |
||||||
|
|
||||||
|
1. Each row must contain the digits 1-9 without repetition. |
||||||
|
2. Each column must contain the digits 1-9 without repetition. |
||||||
|
3. Each of the nine 3x3 sub-boxes of the grid must contain the digits 1-9 without repetition. |
||||||
|
|
||||||
|
The Sudoku board could be partially filled, where empty cells are filled with the character '.'. |
||||||
|
|
||||||
|
### Expected Class |
||||||
|
|
||||||
|
```java |
||||||
|
public class ValidSudoku { |
||||||
|
public boolean isValidSudoku(char[][] board) { |
||||||
|
// Implementation to determine if the Sudoku board is valid |
||||||
|
} |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
### Usage |
||||||
|
|
||||||
|
Here is a possible `ExerciseRunner.java` to test your class: |
||||||
|
|
||||||
|
```java |
||||||
|
public class ExerciseRunner { |
||||||
|
public static void main(String[] args) { |
||||||
|
ValidSudoku validSudoku = new ValidSudoku(); |
||||||
|
|
||||||
|
// Test case 1 |
||||||
|
char[][] board1 = { |
||||||
|
{'5', '3', '.', '.', '7', '.', '.', '.', '.'}, |
||||||
|
{'6', '.', '.', '1', '9', '5', '.', '.', '.'}, |
||||||
|
{'.', '9', '8', '.', '.', '.', '.', '6', '.'}, |
||||||
|
{'8', '.', '.', '.', '6', '.', '.', '.', '3'}, |
||||||
|
{'4', '.', '.', '8', '.', '3', '.', '.', '1'}, |
||||||
|
{'7', '.', '.', '.', '2', '.', '.', '.', '6'}, |
||||||
|
{'.', '6', '.', '.', '.', '.', '2', '8', '.'}, |
||||||
|
{'.', '.', '.', '4', '1', '9', '.', '.', '5'}, |
||||||
|
{'.', '.', '.', '.', '8', '.', '.', '7', '9'} |
||||||
|
}; |
||||||
|
System.out.println("Is board1 valid? " + validSudoku.isValidSudoku(board1)); // Expected output: true |
||||||
|
|
||||||
|
// Test case 2 |
||||||
|
char[][] board2 = { |
||||||
|
{'8', '3', '.', '.', '7', '.', '.', '.', '.'}, |
||||||
|
{'6', '.', '.', '1', '9', '5', '.', '.', '.'}, |
||||||
|
{'.', '9', '8', '.', '.', '.', '.', '6', '.'}, |
||||||
|
{'8', '.', '.', '.', '6', '.', '.', '.', '3'}, |
||||||
|
{'4', '.', '.', '8', '.', '3', '.', '.', '1'}, |
||||||
|
{'7', '.', '.', '.', '2', '.', '.', '.', '6'}, |
||||||
|
{'.', '6', '.', '.', '.', '.', '2', '8', '.'}, |
||||||
|
{'.', '.', '.', '4', '1', '9', '.', '.', '5'}, |
||||||
|
{'.', '.', '.', '.', '8', '.', '.', '7', '9'} |
||||||
|
}; |
||||||
|
System.out.println("Is board2 valid? " + validSudoku.isValidSudoku(board2)); // Expected output: false |
||||||
|
} |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
### Expected Output |
||||||
|
|
||||||
|
```shell |
||||||
|
$ javac *.java -d build |
||||||
|
$ java -cp build ExerciseRunner |
||||||
|
Is board1 valid? true |
||||||
|
Is board2 valid? false |
||||||
|
$ |
||||||
|
``` |
Loading…
Reference in new issue