Мне задали этот вопрос в интервью Adobe:
У нас есть целочисленный массив, который сортируется в порядке возрастания. Мы также имеем 3 целых числа A
, B
и C
. Нам нужно применить A*x*x + B*x + C
для каждого элемента x
в массиве и вернуть соответствующий отсортированный массив.
Пример I:
Input array = -1 0 1 2 3 4
A = -1, B = 2, C = -1`
Результат применения формулы к каждому элементу = -4 -1 0 -1 -4 -9
Итак, ожидаемый результат = -9 -4 -4 -1 -1 0
(отсортировано)
Мое лучшее решение заключалось в том, чтобы применить формулу и отсортировать ее в результате решения O(nlogn)
. Я не мог сделать это лучше.
Любое руководство по его улучшению полезно.