首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用哪种数据结构来获得所需的结果

使用哪种数据结构来获得所需的结果
EN

Stack Overflow用户
提问于 2014-02-20 00:41:35
回答 1查看 92关注 0票数 0

我有一个矩阵。

e.g

代码语言:javascript
复制
1  2  3
4  5  6
7  8  9
10 11 12

现在,我想取(1,4,7,10)的平均值并存储(2,5,8,11)的it..avg和( 3,6,9,12)的it..avg并存储它。

我只想知道为了提高效率,我应该使用哪种结构。

可以增加或减少行数和列数。

我想到了arraylist或list。根据列数的不同,我会取avg。但我不认为这是最好的解决方案。

你能帮我引路吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-20 00:44:50

假设您将矩阵存储在2D数组中,如下所示:

代码语言:javascript
复制
int[][] matrix = int[n][m]; //where n is the number of rows and m is the number of columns

您只需创建一个大小为m的数组来存储其中的所有值:

代码语言:javascript
复制
double[] avg = double[m];

(注意:此数组的类型为double,但您可以将其更改为float或计算平均值时使用的任何类型。doubleint更好,因为它可以帮助你保持精度):

这真的取决于您要对输出做什么,但是对于大多数情况,像这样的简单数组可能就足够了。存储值将非常容易,因为在matrix中添加来自列i的值时,可以将该平均值添加到avg数组中的索引i中。

如下所示:

代码语言:javascript
复制
for (int i = 0; i < m; i++)
{
    avg[i] = averageForColumn(i);
}

在上面的情况下,averageForCoumn(int)返回给定索引处的列的平均值。你实际上不需要创建一个方法来做这件事,你可以只有另一个for循环。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21886787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档