Мне нужно написать метод, который подсчитывает верхнюю левую и правую высоту текущего индекса.Допустим, у нас есть массив {1,4,7,3,2}, поэтому для индекса 1 (высота 4) - maxLeftHeight=1
, maxRightHeight=7
и для индекса 2 (высота 7) - maxLeftHeight=4
, maxRightHeight=3
и так далее ...
Первый и последний индексы не учитываются, поэтому массив начинает считать с 1 и заканчивает считать с array.length-1
Я пытался написать код дляэто и вот что я получил:
public String getCurrentMaxHeights(int[] height)
{
int maxLeft = 0;
int maxRight = 0;
String st = "";
for (int i = 1; i < height.length - 1; i++)
{
maxRight = Math.max(height[i + 1], height[height.length - 1]);
maxLeft = Math.max(height[i - 1], height[0]);
st += "The max left height for " + height[i] + " is " + maxLeft +
" the max right height is " + maxRight + " \n";
}
return st;
}
вывод:
Максимальная левая высота для 1 равна 2, максимальная правая высота равна 3 Максимальная левая высота для1 равно 2, максимальная правая высота равна 4, максимальная левая высота для 4 равна 2, максимальная правая высота равна 3, максимальная левая высота для 1 равна 4, максимальная правая высота равна 3, максимальная левая высота для 1 равна 2, максимальная правая высота равна3 Максимальная левая высота для 2 равна 2, максимальная правая высота составляет 3
Это неправильно, как я могу исправить это, чтобы быть правым?