поиск минимума и максимума в массиве с 3 приращениями - PullRequest
0 голосов
/ 24 апреля 2018

Мне нужно найти максимальное и минимальное значение для каждых 3 элементов данных, используя массив Java.

Для двойных данных [] {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 13, 14}, каковы максимальные и минимальные значения в каждых 3 элементах?Другими словами, каковы максимальные и минимальные значения для {1,2,3}, {4, 5, 6}, {7, 8, 9} и т. Д.

У меня есть следующий метод, ноэто не дает правильных результатов.

for (int i = 0; i < data.length; i+=3) {

        for (int r = i; r < i + 3 && r < data.length; r++) {

            if (data[r] < lowest) { lowest = data[r]; }
            if (data[r] > highest) { highest = data[r]; }

        }

        lowest = highest;
        highest = 0;

1 Ответ

0 голосов
/ 24 апреля 2018

Как насчет этого?

int[] data = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
int processed = 0;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i = 0; i < data.length; i++) {
    if (data[i] < min) {
        min = data[i];
    }
    if (data[i] > max) {
        max = data[i];
    }

    processed++;
    if (processed == 3) {
        System.out.println("Min is: " + min);
        System.out.println("Max is: " + max);
        System.out.println("--------");

        processed = 0;
        min = Integer.MAX_VALUE;
        max = Integer.MIN_VALUE;
    }
}

Вывод:

Min is: 1
Max is: 3
--------
Min is: 4
Max is: 6
--------
Min is: 7
Max is: 9
--------
Min is: 10
Max is: 12
--------

Непонятно, что делать с числами 13 и 14, так как они не образуют блок из 3,но я думаю, вы поняли алгоритм.

...