/*
* Version 1.1
* Datum: 16.05.2020
* Uhrzeit: 21:29
*/
package exp.sandbox;
public class Main {
public static void main(String[] args) {
long sum = getSum(getData(), getMuster(), getDeltas());
System.out.println(sum);
}
private static long[][] getData() {
return new long[][]{
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 5, 1},
{1, 2, 1, 4, 1, 6},
{1, 1, 1, 1, 1},
{1, 1, 1}
};
}
private static int[][] getMuster() {
return new int[][]{
{1, 2},
{0, 3},
{0, 3},
{1, 2}
};
}
private static int[][] getDeltas() {
return new int[][]{
{0, 0},
{0, 1},
{0, 2},
{1, 0}
};
}
private static long getSum(long[][] data, int[][] muster, int dy, int dx) throws IndexOutOfBoundsException {
long sum = 0;
for (int my = 0; my < muster.length; my++) {
for (int mx = 0; mx < muster[my].length; mx++) {
sum += data[my + dy][muster[my][mx] + dx];
}
}
return sum;
}
private static long getSum(long[][] data, int[][] muster, int[][] deltas) throws IndexOutOfBoundsException {
long sum = 0;
for (var delta : deltas) {
sum += getSum(data, muster, delta[0], delta[1]);
}
return sum;
}
}
Comments