Skip to content

Commit 440b096

Browse files
update 840
1 parent 9d927d7 commit 440b096

File tree

2 files changed

+37
-34
lines changed
  • src
    • main/java/com/fishercoder/solutions/firstthousand
    • test/java/com/fishercoder/firstthousand

2 files changed

+37
-34
lines changed

Diff for: src/main/java/com/fishercoder/solutions/firstthousand/_840.java

+23-20
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,36 @@ public int numMagicSquaresInside(int[][] grid) {
1313
for (int j = 0; j < n - 2; j++) {
1414
Set<Integer> set = new HashSet<>();
1515
int sum = grid[i][j] + grid[i][j + 1] + grid[i][j + 2];
16-
if (sum == grid[i + 1][j] + grid[i + 1][j + 1] + grid[i + 1][j + 2]
17-
&& sum == grid[i + 2][j] + grid[i + 2][j + 1] + grid[i + 2][j + 2]
18-
19-
&& sum == grid[i][j] + grid[i + 1][j] + grid[i + 2][j]
20-
&& sum == grid[i][j + 1] + grid[i + 1][j + 1] + grid[i + 2][j + 1]
21-
&& sum == grid[i][j + 2] + grid[i + 1][j + 2] + grid[i + 2][j + 2]
22-
23-
&& sum == grid[i][j] + grid[i + 1][j + 1] + grid[i + 2][j + 2]
24-
&& sum == grid[i][j + 2] + grid[i + 1][j + 1] + grid[i + 2][j]
25-
26-
&& set.add(grid[i][j]) && isLegit(grid[i][j])
27-
&& set.add(grid[i][j + 1]) && isLegit(grid[i][j + 1])
28-
&& set.add(grid[i][j + 2]) && isLegit(grid[i][j + 2])
29-
&& set.add(grid[i + 1][j]) && isLegit(grid[i + 1][j])
30-
&& set.add(grid[i + 1][j + 1]) && isLegit(grid[i + 1][j + 1])
31-
&& set.add(grid[i + 1][j + 2]) && isLegit(grid[i + 1][j + 2])
32-
&& set.add(grid[i + 2][j]) && isLegit(grid[i + 2][j])
33-
&& set.add(grid[i + 2][j + 1]) && isLegit(grid[i + 2][j + 1])
34-
&& set.add(grid[i + 2][j + 2]) && isLegit(grid[i + 2][j + 2])
35-
) {
16+
if (isValid(grid, i, j, set, sum)) {
3617
count++;
3718
}
3819
}
3920
}
4021
return count;
4122
}
4223

24+
private boolean isValid(int[][] grid, int i, int j, Set<Integer> set, int sum) {
25+
return sum == grid[i + 1][j] + grid[i + 1][j + 1] + grid[i + 1][j + 2]
26+
&& sum == grid[i + 2][j] + grid[i + 2][j + 1] + grid[i + 2][j + 2]
27+
28+
&& sum == grid[i][j] + grid[i + 1][j] + grid[i + 2][j]
29+
&& sum == grid[i][j + 1] + grid[i + 1][j + 1] + grid[i + 2][j + 1]
30+
&& sum == grid[i][j + 2] + grid[i + 1][j + 2] + grid[i + 2][j + 2]
31+
32+
&& sum == grid[i][j] + grid[i + 1][j + 1] + grid[i + 2][j + 2]
33+
&& sum == grid[i][j + 2] + grid[i + 1][j + 1] + grid[i + 2][j]
34+
35+
&& set.add(grid[i][j]) && isLegit(grid[i][j])
36+
&& set.add(grid[i][j + 1]) && isLegit(grid[i][j + 1])
37+
&& set.add(grid[i][j + 2]) && isLegit(grid[i][j + 2])
38+
&& set.add(grid[i + 1][j]) && isLegit(grid[i + 1][j])
39+
&& set.add(grid[i + 1][j + 1]) && isLegit(grid[i + 1][j + 1])
40+
&& set.add(grid[i + 1][j + 2]) && isLegit(grid[i + 1][j + 2])
41+
&& set.add(grid[i + 2][j]) && isLegit(grid[i + 2][j])
42+
&& set.add(grid[i + 2][j + 1]) && isLegit(grid[i + 2][j + 1])
43+
&& set.add(grid[i + 2][j + 2]) && isLegit(grid[i + 2][j + 2]);
44+
}
45+
4346
private boolean isLegit(int num) {
4447
return num <= 9 && num >= 1;
4548
}

Diff for: src/test/java/com/fishercoder/firstthousand/_840Test.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,46 @@
11
package com.fishercoder.firstthousand;
22

33
import com.fishercoder.solutions.firstthousand._840;
4-
import org.junit.BeforeClass;
5-
import org.junit.Test;
4+
import org.junit.jupiter.api.BeforeEach;
5+
import org.junit.jupiter.api.Test;
66

7-
import static org.junit.Assert.assertEquals;
7+
import static org.junit.jupiter.api.Assertions.assertEquals;
88

99
public class _840Test {
1010
private static _840.Solution1 test;
1111
private static int[][] grid;
1212

13-
@BeforeClass
14-
public static void setUp() {
13+
@BeforeEach
14+
public void setUp() {
1515
test = new _840.Solution1();
1616
}
1717

1818
@Test
1919
public void test1() {
2020
grid = new int[][]{
21-
{4,3,8,4},
22-
{9,5,1,9},
23-
{2,7,6,2}
21+
{4, 3, 8, 4},
22+
{9, 5, 1, 9},
23+
{2, 7, 6, 2}
2424
};
2525
assertEquals(1, test.numMagicSquaresInside(grid));
2626
}
2727

2828
@Test
2929
public void test2() {
3030
grid = new int[][]{
31-
{5,5,5},
32-
{5,5,5},
33-
{5,5,5}
31+
{5, 5, 5},
32+
{5, 5, 5},
33+
{5, 5, 5}
3434
};
3535
assertEquals(0, test.numMagicSquaresInside(grid));
3636
}
3737

3838
@Test
3939
public void test3() {
4040
grid = new int[][]{
41-
{10,3,5},
42-
{1,6,11},
43-
{7,9,2}
41+
{10, 3, 5},
42+
{1, 6, 11},
43+
{7, 9, 2}
4444
};
4545
assertEquals(0, test.numMagicSquaresInside(grid));
4646
}

0 commit comments

Comments
 (0)