import java.util.Arrays;
public class MyClass {
private static int GetBoundariesLength(int matrix[][]) {
int rows = matrix.length;
int cols = matrix[0].length;
return (rows * 2) + (cols * 2) - 4;
}
private static void AppendMatrixBoundariesToArray(int[][] matrix, Integer[] array) {
int rows = matrix.length;
int cols = matrix[0].length;
int array_index = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (i == 0 || j == 0 || i == rows - 1 || j == cols - 1) {
array[array_index++] = matrix[i][j];
}
}
}
}
public static void main(String args[]) {
int matrix[][] = {
{ 1, 2, 3, 4, 5},
{ 6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}
};
Integer[] array = new Integer[GetBoundariesLength(matrix)];
AppendMatrixBoundariesToArray(matrix, array);
System.out.println(Arrays.toString(array));
}
}
/*
run:
[1, 2, 3, 4, 5, 6, 10, 11, 15, 16, 17, 18, 19, 20]
*/