Максимально возможная медиана путем создания массива размера N с суммой X

Опубликовано: 20 Сентября, 2022

Даны два положительных целых числа N и X . Задача состоит в том, чтобы напечатать максимально возможную медиану , сгенерировав массив размера N с суммой X

Примеры:

Input: N = 1, X = 7
Output: 7
Explanation: Array can be: [7], median is the 1st element, i.e., 7.

Input: N = 7, X = 18
Output: 4
Explanation: One of the possible arrays can be: [0, 1, 2, 3, 4, 4, 4]. The median = ceil(n/2)th element  = ceil(7/2) = 5th element, i.e., 4.

Подход: учтите, что медиану необходимо максимизировать, поэтому жадный подход может заключаться в том, чтобы сделать все элементы перед положением медианного элемента равным нулю и поровну разделить сумму X между остальными элементами.
Выполните следующие шаги, чтобы решить проблему:

  • Если n = 1 , выведите X.
  • Для n >= 2.
  • Создайте переменную median_pos = ceil((double)(n)/2.0).
  • Уменьшите значение median_pos для представления значения индекса.
  • Создайте переменную median = X/(n-median_pos) .
  • Распечатать медиану .

Ниже приведена реализация вышеуказанного подхода:


Временная сложность : O(1)
Вспомогательное пространство : O(1)