【发布时间】:2012-01-13 21:27:05
【问题描述】:
我有 3 维 (n*m*k) 的矩阵。我试图通过在 k 维中搜索来确定每个 n 和 m 的最大数量。((我尝试为每个 n 和 m 找到 k 维中的最大数量)),最后我有一个 2d 矩阵(n * m )。我有以下代码,但它太慢了。是否有任何新代码或对当前代码的任何更改可以更快地完成此操作。
谢谢。
我的 c# 代码:注意:li 是 3 维矩阵,它们大于或等于零。
int[,] array2 = new int[n, m];
int[,] array = new int[n, m];
List<Array> li = new List<Array>();
for(int k = 0; k <'not a specific value, change each time' ; k++)
{
li.Add(array);
%% changing array
} %% so li will became a (n*m*k) matrix
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
int ma = -2;
int d = 0;
while (d <= k)
{
ma = Math.Max(ma, Convert.ToInt32(li[d].GetValue(i, j)));
d++;
}
array2[i, j] = ma;
}
【问题讨论】:
-
li是什么值? -
发布所有变量以及它们是如何在您的代码中声明/定义的..您如何声明 3 dim 数组..?显示代码
-
li : List
li = new List (); -
li.Add(array);其中 int[,] 数组 = new int[n, m];
-
有什么理由不使用 3D 数组?