Упражнения на Java: вычисление медианы несортированного массива целых чисел, поиск медианы
Java Basic: упражнение 128 с решением
Напишите программу на Java для вычисления медианы заданного несортированного массива целых чисел.
Пример: {10,2,38,23,38,23,21}
Выход: 23
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Main {
public static void main(String[] args)
{
int[] nums = {10,2,38,23,38,23,21};
System.out.println(Arrays.toString(nums));
int n = nums.length;
if (n < 1) {
System.out.printf("False");
}
Queue<Integer> min = new PriorityQueue<Integer>(n);
for (int num : nums) {
min.add(num);
}
if ((n & 1) == 0) {
n >>= 1;
n -= 1;
} else {
n >>= 1;
}
int i = 0;
while (i < n) {
min.remove();
i++;
}
System.out.print(min.remove());
}
}
Пример вывода:
[10, 2, 38, 23, 38, 23, 21] 23
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для получения обхода Postorder значений его узлов заданного двоичного дерева.
Далее: Упражнения типов данных Java
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code