Ctrl K

Значения параболы по порядку

Средняя
Дан отсортированный по неубыванию массив целых чисел xs и три целых коэффициента a, b, c. Подставьте каждый элемент x в функцию f(x) = a·x² + b·x + c и верните все полученные значения, упорядоченные по неубыванию. Отсортировать результат «в лоб» за O(n log n) несложно. Сумеете за O(n), пользуясь тем, что xs уже упорядочен?
Пример 1
xs=[-3, -1, 0, 2], a=2, b=0, c=-1 → [-1, 1, 7, 17]

f(x) = 2x² − 1 даёт 17, 1, −1, 7; по возрастанию: −1, 1, 7, 17.

Пример 2
xs=[-2, 0, 1, 3], a=-1, b=2, c=4 → [-4, 1, 4, 5]

f(x) = −x² + 2x + 4 даёт −4, 4, 5, 1; по возрастанию: −4, 1, 4, 5.

Пример 3
xs=[1, 4, 6], a=0, b=-3, c=2 → [-16, -10, -1]
Ограничения
  • 1 ≤ len(xs) ≤ 200
  • -100 ≤ xs[i], a, b, c ≤ 100
  • xs упорядочен по неубыванию
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКрайние камни сдвигаются СредняяТройки с нулевой суммой СредняяСумма тройки ближе всего к цели СредняяЧетыре числа с заданной суммой СредняяФлажки трёх цветов Средняя
загружаем Python…
Вход
xs=[-3, -1, 0, 2], a=2, b=0, c=-1
Ожидается
[-1, 1, 7, 17]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 123 теста на сервере, включая скрытые.