矩阵中的最大值

时间:2014-05-02 02:58:07

标签: java arrays methods max

您好,我是一名java初学者,我有一个简单的问题

所以说我有一个矩阵

1 0 1
0 2 0
3 2 1

Java中是否有内置方法可以输出数字3(最大值)及其坐标?

如果没有,那么我认为matlab可能会破坏我嘿嘿

由于

2 个答案:

答案 0 :(得分:0)

这取决于“矩阵”的实施。至于我的Java经验(以及简短的谷歌搜索),没有“标准”矩阵类,所以我假设你使用的是多维数组(int[][] matrix)或某些第三方库。 / p>

在前一种情况下,Java确实提供了查找 Collection 的最大值的方法。我认为它可以某种方式应用于多维数组; 然而它涉及将数组转换为集合as this SO post points out,如果您只需要min / max,效率非常低。相反,你应该自己编写min / max函数。要么它对你来说都是微不足道的,需要很少的努力,或者你会从中学到一些东西。

如果您使用的是第三方库,例如JAMA,那么它完全取决于该库的实现,我建议您查阅其文档或来源。

答案 1 :(得分:0)

以下是一些可以执行最大操作的代码。

    public FunRun()
        {
            int[][] array = { { 1, 1, 2 }, { 1, 0, 3 }, { 0, 2, 1 } };
            System.out.println(max(array, 3, 3));
        }

    Integer max(int[][] array, int rows, int cols)
        {
            Integer result = null;
            for (int row = 0; row < rows; row++)
                {
                    for (int col = 0; col < cols; col++)
                        {
                            if (result == null || result < array[row][col])
                                {
                                    result = array[row][col];
                                }
                        }
                }
            return result;
        }