Skip to main content

2D Array DS HackerRank Solution | Java Solution | Programming Blog

Two Dimensional Array Solution in Java

Two Dimensional Array HackerRank solution in java.

Problem Statement :-

Given 6 * 6 Two Dimensional Array.

1 1 1 0 0 0
0 1 0 0 0 0
1 1 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 

An hourglass in A is a subset of values with indices falling in this pattern in array's graphical representation.

a b c
  d
e f g

There are 16 hourglass in Array. An hourglass sum is the sum of an hourglass' values. Calculate the hourglass sum for every hourglass in Array. then print the maximum hourglass sum. The array will always be 6 * 6.

Example :-

Array

-9 -9 -9  1 1 1 
 0 -9  0  4 3 2
-9 -9 -9  1 2 3
 0  0  8  6 6 0
 0  0  0 -2 0 0
 0  0  1  2 4 0

Then 16 hourglass sum are

-63, -34, -9, 12, 
-10,   0, 28, 23, 
-27, -11, -2, 10, 
  9,  17, 25, 18

The highest hourglass sum is 28.

0 4 3
  1
8 6 6

So lets see solution of this problem in Java.

public class TwoDArrayDS {
    
    public static void main(String[] args) {
       
        Scanner scanner = new Scanner(System.in);
       
        // Initialize maxSum -63 because it is min value (-9 * 6)
        int maxSum = -63;
        int currentSum;
        int[][] matrix = new int[6][6];
       
        System.out.println("Enter array values");
        for(int i=0; i<6; i++) {
            for(int j=0; j<6; j++) {
                matrix[i][j] = scanner.nextInt();
            }
        }

       for(int i=0; i<4; i++) {
            for(int j=0; j<4; j++) {
                currentSum = matrix[i][j] + matrix[i][j+1] + matrix[i][j+2] +
                      matrix[i+1][j+1] +
                      matrix[i+2][j] + matrix[i+2][j+1] + matrix[i+2][j+2];
                    maxSum = Math.max(currentSum,maxSum);
            }
        }
        System.out.println(maxSum);
    }

}

Output :-
Enter array values
1 1 1 0 0 0
0 1 0 0 0 0
1 1 1 0 0 0
0 0 2 4 4 0
0 0 0 2 0 0
0 0 1 2 4 0

The Max Sum is :- 19

____________________

Enter array values
1 1 1 0 0 0
0 1 0 0 0 0
1 1 1 0 0 0
0 9 2 -4 -4 0
0 0 0 -2 0 0
0 0 -1 -2 -4 0
The Max Sum is :- 13


Check out Other HackerRank Problem Solution in Java.


Comments