我正在为一家名为 Code Nation 的公司进行测试,遇到了这个问题,该问题要求我计算数字 k 在子矩阵 M[n][n] 中出现的次数。现在有一个例子这样说输入。
5
1 2 3 2 5
36
M[i][j]
是计算a[i]*a[j]
在计算轮我可以计算的。
1,2,3,2,5
2,4,6,4,10
3,6,9,6,15
2,4,6,4,10
5,10,15,10,25
现在我必须计算 36 在 M 的子矩阵中出现了多少次。
答案是 5。
我无法理解如何计算这个子矩阵。如何表示? 我有一种天真的方法,导致了许多我认为没有一个是正确的矩阵。
其中之一是 Submatrix[i][j]
1 2 3 2 5
3 9 18 24 39
6 18 36 60 99
15 33 69 129 228
33 66 129 258 486
这是通过将 0,0 之前的所有数字添加到 i,j
在这 36 中没有出现 5 次,所以我知道这是不正确的。如果你可以用一些伪代码来备份它,那将是锦上添花。
感谢帮助