Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void main(String[] args) {
- int grid[][] = {{4, 9, 2}, {3, 5, 7}, {8, 1, 6}};
- System.out.println(isMagicSquare(grid));
- }
- private static boolean isMagicSquare(int[][] grid) {
- int n = grid.length;
- Set<Integer> sums = new HashSet<>();
- int sumOfCurrentRow;
- int sumOfCurrentColumn;
- int sumOfLeftDiagonal = 0;
- int sumOfRightDiagonal = 0;
- for (int i = 0; i < n; i++) {
- sumOfLeftDiagonal += grid[i][i];
- sumOfRightDiagonal += grid[n - 1 - i][i];
- sumOfCurrentRow = 0;
- sumOfCurrentColumn = 0;
- for (int j = 0; j < n; j++) {
- sumOfCurrentRow += grid[i][j];
- sumOfCurrentColumn += grid[j][i];
- }
- if (sums.isEmpty()) {
- sums.add(sumOfCurrentRow);
- } else {
- if (sums.add(sumOfCurrentRow)) {
- return false;
- }
- }
- if (sums.add(sumOfCurrentColumn)) {
- return false;
- }
- }
- return !sums.add(sumOfLeftDiagonal) && !sums.add(sumOfRightDiagonal);
- }
Advertisement
Add Comment
Please, Sign In to add comment