我们得到一个阶数为 [m][m][m]....n 次的 N 维矩阵,其中位置值包含其索引的值总和。例如,在 6x6 矩阵A
中,位置处的值A[3][4]
将为 7。
我们必须找出大于 x 的元素的总数。对于二维矩阵,我们有以下方法:
如果我们知道一个索引,[i][j] {i+j = x}
那么我们只需使用约束来[i++][j--]
创建对角线,并且总是在 to 的范围内例如
在二维矩阵 A[6][6] 中,值 A[3][4] (x = 7),对角线可以通过以下方式创建:[i--][j++]
i
j
0
m.
A[1][6] -> A[2][5] -> A[3][4] -> A[4][3] -> A[5][2] -> A[6][2]
在这里,我们将我们的问题转换为另一个问题,即计算对角线以下的元素,包括对角线。
我们可以很容易地计算O(m)
复杂性,而不是花费矩阵O(m^2)
的2
顺序。但是,如果我们考虑 N 维矩阵,我们将如何做,因为在 N 维矩阵中,如果我们知道该位置的索引,其中索引的总和就是x
次数A[i1][i2][i3][i4]....[in]
。那么可能有多个满足该条件的对角线,比如说通过这样做i1--
我们可以增加任何一个{i2, i3, i4....in}
因此,上述用于二维矩阵的方法在这里变得无用......因为只有两个变量 i1 和 i2 存在。请帮我找到解决方案