кодесурса

Упражнения на Java: вычисление медианы несортированного массива целых чисел, поиск медианы

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code