Макс в матрице

1

Привет, я начинаю java У меня быстрый вопрос

Так сказать, у меня есть матрица

1 0 1
0 2 0
3 2 1

Есть ли встроенный метод в Java, который будет выводить число 3 (max) вместе с его координатами?

Если нет, то я думаю, что Matlab, возможно, испортил мне хехе

благодаря

  • 0
    нет конкретной библиотеки Java. Поэтому ищите любую внешнюю библиотеку, например, commons-math
  • 0
    что ты имеешь в виду под библиотекой? Означает ли это, что я должен сделать код и добавить его в мою библиотеку методов sry, если это звучит глупо = /
Показать ещё 4 комментария
Теги:
arrays
methods
max

2 ответа

0

Это зависит от реализации "матрицы". Что касается моего опыта работы с Java (и краткий поиск Google), то нет стандартного матричного класса, поэтому я предполагаю, что вы либо используете многомерный массив (int[][] matrix), либо некоторую стороннюю библиотеку.

В первом случае Java действительно предоставляет средства для поиска максимальной коллекции. Я предполагаю, что это можно каким-то образом применить к многомерному массиву; однако он включает преобразование массива в коллекцию, которая, как указывает это сообщение SO, очень неэффективна, если все, что вам нужно, это min/max. Вместо этого вы должны сами написать функцию min/max. Либо это будет тривиально для вас, и вам потребуются небольшие усилия, или вы узнаете что-то от этого.

Если вы используете стороннюю библиотеку, такую как JAMA, то она полностью зависит от реализации этой библиотеки, и я рекомендую вам ознакомиться с ее документацией или источником.

0

Вот некоторый код, который сделает max.

    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;
        }
  • 0
    Обидно, но в этой строке: если (result == null || result <array [row] [col]), что означает "||" делать?
  • 0
    Это логично или в Java.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню