Код: Выделить всё
type here
< /code>
[b] Как найти средний элемент (ы) в массиве в Java? < /strong> < /h3>
< P> Я работаю с ArrayList Код: Выделить всё
import java.util.ArrayList;
public class Collection1_Middle_Element {
void Middle_Element() {
ArrayList arr = new ArrayList();
arr.add(100);
arr.add(90);
arr.add(80);
arr.add(100);
arr.add(60);
arr.add(90);
arr.add(50);
int a = 0;
for (Integer integer : arr) {
a++;
}
System.out.println(
(a % 2 == 0) ? ("[" + arr.get(a / 2) + "," + arr.get((a / 2) + 1) + "]")
: ("[" + arr.get(a / 2) + "]"));
}
}
[*] Я вручную подсчитываю размер ArrayList Использование цикла вместо использования arr.size () .
[*] Расчет среднего элемента кажется неверным для равномерных списков.
Как я могу улучшить этот подход, чтобы правильно найти средние элементы (ы)? Вы пробуете? Я использовал цикл, чтобы подсчитать размер списка, а затем использовал условие if-else для печати среднего элемента.If the list has an odd number of elements, I expected a single middle element.
If the list has an even number of elements, I expected two middle elements.
< /code>
Тем не менее, я столкнулся с проблемой, в которой индексация для равномерных списков кажется неверной, и я считаю, что существует более эффективный способ определения среднего элемента (ов). Как я могу улучшить этот подход?
Подробнее здесь: https://stackoverflow.com/questions/794 ... em-solving
Мобильная версия