背景
整数数组的增量是通过获取连续元素的差形成的数组。例如,[1, 2, 4, 7, 3, 9, 6]
具有以下增量:[1, 2, 3, -4, 6, -3]
。
现在,我们将整数矩阵的增量定义为每一行及其包含的每一列的增量。
举个例子:
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]
这为我们提供了矩阵增量的以下列表:
[[1, 1, 1], [1, 1, 1], [-6, 7, -6], [3, 3], [3, -4], [3, 2], [3, -5]]
而且由于我们不希望它们嵌套,我们将列表扁平化:
[1, 1, 1, 1, 1, 1, -6, 7, -6, 3, 3, 3, -4, 3, 2, 3, -5]
任务
您的任务是求和作为输入给出的矩阵的所有增量。请注意,矩阵将仅由非负整数组成。
规则
所有标准规则均适用。
您可以假设矩阵的每一行和每一列至少包含两个值,因此最小大小为2x2。
只要指定矩阵,就可以采用任何合理的格式。
您可能不认为矩阵是正方形。
如果它可以帮助您减少字节数,则可以选择将行数和列数也用作输入(看您的C!)。
这是代码高尔夫球,因此每种语言中最短的代码(以字节为单位)将获胜!
测试用例
输入=>输出 [[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,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
ṁ
。