Hintergrund
Das Delta eines Arrays von ganzen Zahlen ist das Array, das aus den Differenzen aufeinanderfolgender Elemente gebildet wird. Zum Beispiel [1, 2, 4, 7, 3, 9, 6]
hat die folgenden Deltas: [1, 2, 3, -4, 6, -3]
.
Wir definieren nun die Deltas einer Ganzzahlmatrix als die Deltas jeder Zeile und jeder Spalte, die sie enthält.
Als Beispiel:
Row deltas:
1 2 3 4 │ => [1, 1, 1]
4 5 6 7 │ => [1, 1, 1]
7 1 8 2 │ => [-6, 7, -6]
Column deltas (the matrix' columns have been rotated into rows for simplicity):
1 4 7 │ => [3, 3]
2 5 1 │ => [3, -4]
3 6 8 │ => [3, 2]
4 7 2 │ => [3, -5]
Was uns die folgende Liste von Matrixdeltas gibt:
[[1, 1, 1], [1, 1, 1], [-6, 7, -6], [3, 3], [3, -4], [3, 2], [3, -5]]
Und da wir nicht möchten, dass sie verschachtelt werden, reduzieren wir diese Liste:
[1, 1, 1, 1, 1, 1, -6, 7, -6, 3, 3, 3, -4, 3, 2, 3, -5]
Aufgabe
Ihre Aufgabe ist es, alle Deltas einer als Eingabe gegebenen Matrix zu summieren . Beachten Sie, dass die Matrix nur aus nicht negativen ganzen Zahlen besteht.
Regeln
Es gelten alle Standardregeln.
Sie können davon ausgehen, dass die Matrix mindestens zwei Werte in jeder Zeile und Spalte enthält, sodass die Mindestgröße 2x2 beträgt .
Sie können die Matrix in jedem vernünftigen Format verwenden, solange Sie es angeben.
Sie können nicht davon ausgehen, dass die Matrix quadratisch ist.
Wenn es helfen , könnten Sie Ihre Byteanzahl reduzieren, Sie können optional die Anzahl der Zeilen nehmen und die Anzahl der Spalten als Eingabe als auch (Betrachten Sie C!).
Das ist Code-Golf, also gewinnt der kürzeste Code (in Bytes) in jeder Sprache !
Testfälle
Eingabe => Ausgabe [[1, 2], [1, 2]] => 2 [[8, 7, 1], [4, 1, 3], [5, 5, 5]] => -9 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] => 24 [[9, 9, 9, 9, 9], [9, 9, 9, 9, 9]] => 0 [[1, 3, 14], [56, 89, 20], [99, 99, 99]] => 256 [[1, 2, 3, 4], [4, 5, 6, 7], [7, 1, 8, 2]] => 9 [[13, 19, 478], [0, 12, 4], [45, 3, 6], [1, 2, 3]] => -72
ṁ
.