有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

矩阵中的javamax

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

假设我有一个矩阵

1 0 1
0 2 0
3 2 1

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

如果不是的话,我想matlab可能已经宠坏了我,呵呵

谢谢


共 (2) 个答案

  1. # 1 楼答案

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

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

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

  2. # 2 楼答案

    这里有一些代码可以最大限度地发挥作用

        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;
            }