halshadshafds
This commit is contained in:
@@ -57,15 +57,13 @@ class Sudoku {
|
|||||||
for (int[] col : transposed)
|
for (int[] col : transposed)
|
||||||
if (isRepetitive(col)) return false;
|
if (isRepetitive(col)) return false;
|
||||||
|
|
||||||
/*
|
// Check all 3x3 squares.
|
||||||
// Check there'ren't any repeats in a square.
|
for (int squareRow = 0; squareRow < 3; squareRow++) {
|
||||||
for (int i = 0; i < 9; i++) {
|
for (int squareCol = 0; squareCol < 3; squareCol++) {
|
||||||
int[] square = new int[3][3];
|
if (squareCheck(puz, squareRow * 3, squareCol * 3))
|
||||||
for (int j = i; j < i + 3; j++) {
|
return false;
|
||||||
// for (int k = i; k < i + 3; k++) { square[i][k] }
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -91,6 +89,20 @@ class Sudoku {
|
|||||||
|
|
||||||
return transposed;
|
return transposed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if a 3x3 square repeats values.
|
||||||
|
static boolean squareCheck(int[][] puz, int startRow, int startCol) {
|
||||||
|
HashMap<Integer, Boolean> seen = new HashMap<>();
|
||||||
|
|
||||||
|
for (int i = 0; i < 3; i++)
|
||||||
|
for (int j = 0; j < 3; j++) {
|
||||||
|
int val = puz[startRow + i][startCol + j];
|
||||||
|
if (seen.containsKey(val)) return true;
|
||||||
|
else seen.put(val, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Examples {
|
class Examples {
|
||||||
@@ -166,6 +178,7 @@ class Examples {
|
|||||||
t.checkExpect(Sudoku.solved(testPuz6), false);
|
t.checkExpect(Sudoku.solved(testPuz6), false);
|
||||||
t.checkExpect(Sudoku.solved(testPuz7), false);
|
t.checkExpect(Sudoku.solved(testPuz7), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void testSieve(Tester t) {
|
void testSieve(Tester t) {
|
||||||
Sieve sieve = new Sieve(29);
|
Sieve sieve = new Sieve(29);
|
||||||
t.checkExpect(sieve.hasNext(), true);
|
t.checkExpect(sieve.hasNext(), true);
|
||||||
|
@@ -2,7 +2,6 @@ package streams;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
Reference in New Issue
Block a user