Чтобы исправить пустое пространство между индексом массива

#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

Комментарии:

1. Я запустил этот код и не столкнулся ни с какими ошибками (хотя цикл никогда не заканчивается).

2. пожалуйста, посмотрите это изображение 2 под кодом..

3. вывод неверен..