给定数字列表[ a 1 a 2 ... a n ],计算所有矩阵A the的总和,其中Aᵢ定义如下(m是所有aᵢ的最大值):
1 2 ⋯ (i-1) i (i+1) ⋯ n
+----------------------------
1 | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ
2 | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ
. . . . . . . .
. . . . . . . .
aᵢ | 0 0 ⋯ 0 aᵢ aᵢ ⋯ aᵢ
aᵢ₊₁ | 0 0 ⋯ 0 0 0 ⋯ 0
. . . . . . . .
. . . . . . . .
m | 0 0 ⋯ 0 0 0 ⋯ 0
例
给定输入,[2,1,3,1]
我们构造以下矩阵:
[2 2 2 2] [0 1 1 1] [0 0 3 3] [0 0 0 1] [2 3 6 7]
[2 2 2 2] + [0 0 0 0] + [0 0 3 3] + [0 0 0 0] = [2 2 5 5]
[0 0 0 0] [0 0 0 0] [0 0 3 3] [0 0 0 0] [0 0 3 3]
规则和I / O
- 您可以假设输入为非空
- 您可以假设所有输入均为非负(0≤)
- 输入可以是1×n(或n×1)矩阵,列表,数组等。
- 类似地,输出可以是矩阵,列表列表,数组等。
- 您可以通过任何默认的I / O格式接收和返回输入
- 您提交的内容可能是完整的程序或功能
测试用例
[0] -> [] or [[]]
[1] -> [[1]]
[3] -> [[3],[3],[3]]
[2,2] -> [[2,4],[2,4]]
[3,0,0] -> [[3,3,3],[3,3,3],[3,3,3]]
[1,2,3,4,5] -> [[1,3,6,10,15],[0,2,5,9,14],[0,0,3,7,12],[0,0,0,4,9],[0,0,0,0,5]]
[10,1,0,3,7,8] -> [[10,11,11,14,21,29],[10,10,10,13,20,28],[10,10,10,13,20,28],[10,10,10,10,17,25],[10,10,10,10,17,25],[10,10,10,10,17,25],[10,10,10,10,17,25],[10,10,10,10,10,18],[10,10,10,10,10,10],[10,10,10,10,10,10]]
我猜有字体差异之类的。我看到您回滚了我的编辑。这就是我目前的外观imgur.com/a06RH9r 这是Windows 10上的Chrome。出于某些原因,垂直椭圆不以等宽线呈现,并且不与列对齐。这就是为什么我更改了它。但是我猜它在不同的环境中看起来必须不同。
—
递归
绝对是字体问题。这两个修订版在我的屏幕上均未对齐。
—
丹尼斯
我们可以返回转置后的结果吗?
—
亚当
@Adám:我会拒绝,但是请在您的帖子中随意添加一个解决方案。
—
ბიმო