#java #arrays #arraylist
Вопрос:
Хочу сэкономить пространство между столбцами, которых сколько.. Я написал это, но здесь есть ошибка.. как я могу получить на него ответ??? например: входные данные являются {3, 0, 2, 0, 4} и вывод должен быть просто числом, которое здесь для этого ввода равно 7.
int[] input = {3, 0, 2, 0, 4};
int inputLength = input.length;
System.out.println("inputLength: " inputLength);
int vol = 0,pos = 0;
if (inputLength >= 3) {
while (pos <= inputLength - 1) {
if (input[pos 1] <= input[pos]) {
pos ;
} else if (input[pos 1] < input[pos]) {
System.out.println("pos=" pos);
int gapStartPos = pos;
int gapStartHeight = input[pos];
int gapEndPos = pos;
int gapEndHeight = input[pos];
int e = pos;
for (int i = e 1; i < inputLength; i ) {
if ((input[i] != 0) amp;amp; (input[i] >= (gapStartHeight - 1))) {
gapEndPos = i;
gapEndHeight = input[i];
break;
} else {
gapEndPos ;
}
}
for (int i = gapStartPos 1; i < gapEndPos; i ) {
vol = (Math.floor((gapStartHeight gapEndHeight) / 2) - input[i]);
System.out.println("vol=" vol);
}
}
}
}
}
}
Комментарии:
1. Я запустил этот код и не столкнулся ни с какими ошибками (хотя цикл никогда не заканчивается).
2. пожалуйста, посмотрите это изображение 2 под кодом..
3. вывод неверен..