挑战:
给定一个方形输入矩阵A,在矩阵的所有四个边上分别填充一行和一列。
- 顶行和底行中每个元素的值应为每个对应列中元素的总和。
- 左右列中每个元素的值应为每个对应行中元素的总和。
- 左上角和右下角的元素值应为对角线上的元素之和
- 右上角和左下角的元素值应为反对角线中元素的总和。
例:
A =
1 5 3
3 2 4
2 5 5
Output:
8 6 12 12 7
9 1 5 3 9
9 3 2 4 9
12 2 5 5 12
7 6 12 12 8
说明:
左上和右下元素是对角线1 + 2 + 5 = 8的总和。右上和左下元素是反对角2 + 2 + 3 = 7的总和。
顶部和底部的行(除了角部)的每一列的总和在阿:1 + 3 + 2 = 6,5 + 2 + 5 = 12和3 + 4 + 5 = 12。类似地,左和右列(除了角部)各自的行的总和甲:1 + 5 + 3 = 9,3 + 2 + 4 = 9和2 + 5 + 5 = 12。
输入:
- 具有非负整数的非空方阵。
- 可选格式
输出:
- 如上所述填充的矩阵
- 可选格式,但必须与输入格式相同
测试用例:
如果您想将输入格式转换为更适合的格式(例如),请使用此挑战中的提交[[1, 5],[0, 2]]
。
0
----------------
0 0 0
0 0 0
0 0 0
1 5
0 2
----------------
3 1 7 5
6 1 5 6
2 0 2 2
5 1 7 3
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
----------------
65 65 65 65 65 65 65
65 17 24 1 8 15 65
65 23 5 7 14 16 65
65 4 6 13 20 22 65
65 10 12 19 21 3 65
65 11 18 25 2 9 65
65 65 65 65 65 65 65
15 1 2 12
4 10 9 7
8 6 5 11
3 13 14 0
----------------
30 30 30 30 30 30
30 15 1 2 12 30
30 4 10 9 7 30
30 8 6 5 11 30
30 3 13 14 0 30
30 30 30 30 30 30
这是代码高尔夫,因此每种语言中最短的解决方案将获胜。强烈建议您进行解释。