I'm doing a hackerrank challenge to get ready for interviews and was wondering if someone could provide feedback on my code (style, naming convention, etc.). This challenge involves 2D arrays and is located here: https://www.hackerrank.com/challenges/2d-array
Here is my code (that passes all the test cases):
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
private static final int ROWS = 6;
private static final int COLS = 6;
private static final int HOURGLASS_ROWS = 3;
private static final int HOURGLASS_COLS = 3;
static int[][] arr = new int[ROWS][COLS];
static int[][] hourglass = new int[][]{{1, 1, 1}, {0, 1, 0}, {1, 1, 1}};
static int findMaxSum(Scanner sc) {
int maxSum = Integer.MIN_VALUE;
initialize(sc);
for (int i = 0; i <= ROWS-HOURGLASS_ROWS; i++) {
for (int j = 0; j <= COLS-HOURGLASS_COLS; j++) {
int sum = 0;
for (int k = 0; k < HOURGLASS_ROWS; k++) {
for (int l = 0; l < HOURGLASS_COLS; l++) {
sum += hourglass[k][l]*arr[i+k][j+l];
}
}
if (sum > maxSum) maxSum = sum;
}
}
return maxSum;
}
static void initialize(Scanner sc) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
arr[i][j] = sc.nextInt();
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print(findMaxSum(sc));
}
}
Thanks for the feedback!