Как найти и вернуть индекс все более низкого значения в массиве Java - PullRequest
0 голосов
/ 19 марта 2020

У меня есть массив { 8, 4, 3, 2, 5, 6, 1, 7 }, который я хочу, чтобы он возвращал индекс наименьшего значения в массиве, индекс следующего наименьшего значения в массиве и так далее.

У меня есть этот код;

private static int getSlotPosition(int[] iArray) {
        int lowestValue;
        lowestValue = iArray[0];
        int slot = 0;
        for (int i = 0; i < iArray.length; i++) {
            if (iArray[i] < lowestValue) {
                lowestValue = iArray[i];
                slot = i;
            }

        }
        return slot;

    }

Вышеупомянутый метод вызывается в for-l oop, меняя расположение массива каждый раз, когда он вызывается.

Итак, я хочу, чтобы выходные данные (то есть индекс) возвращались после каждого вызова метода (при условии, что позиции остаются прежними), чтобы быть похожими;

  1. Индекс, возвращаемый после первого вызова равно 6, потому что 1 является самым низким значением
  2. Индекс, возвращаемый после второго вызова, равен 3, потому что 2 является следующим самым низким значением
  3. Индекс, возвращаемый после второго вызова, равен 2, потому что 3 является следующим самым низким значение и так далее

Пожалуйста, кто-нибудь может мне помочь. Спасибо.

1 Ответ

0 голосов
/ 19 марта 2020

Ваш метод возвращает int, что означает, что он не может вернуть ничего другого ОДНОГО значения. Если вы хотите решить задачу, вам нужно сделать это с помощью рекурсии или заставить метод возвращать массив с самыми низкими индексами в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...