Метод, который мне нужен для понимания вывода, отличается от того, что я думал
Итак, у меня есть этот код, заданный массив { 7 ,9 ,2 ,8, 3 ,5 ,4 }
Он возвращает 3. Но я думаю, он должен возвращать 5, потому что m2 -m1 равно j -i
Когда 7-3 = 4-0
И максимальная температура будет 5.
>Но правильный ответ все равно 3, и я не могу понять почему.
Я буду рад помощи.
Кроме того, когда мы меняем 5 на 1, возвращается 1. Не знаю почему.
public class Q5 {
public static int f(int x, int y) {
if (x < y)
return x;
else
return y;
}
public static int g(int x, int y) {
if (x > y)
return x;
else
return y;
}
public static int what(int arr[]) {
int temp = 1;
for (int i = 0; i < arr.length - 1; i++) {
int m1 = arr;
int m2 = arr;
for (int j = i + 1; j <
arr.length; j++) {
m1 = f(m1, arr[j]);
m2 = g(m2, arr[j]);
if ((m2 - m1) == j - i)
temp = g(temp, m2 - m1
+ 1);
}
}
return temp;
}
}
Подробнее здесь: https://stackoverflow.com/questions/782 ... ted-output