Given a sorted array of integers nums and integer values a, b and c. Apply a function of the form f(x) = ax2 + bx + c to each element x in the array.
The returned array must be in sorted order.
Expected time complexity: O(n)
Example:1234567nums = [-4, -2, 2, 4], a = 1, b = 3, c = 5,Result: [3, 9, 15, 33]nums = [-4, -2, 2, 4], a = -1, b = 3, c = 5Result: [-23, -5, 1, 7]
解法1: Two pointers + Math
如果a是正数,那么在边缘的x所对应的数字是最大的,而最小值在中间。
如果a是负数,那么在边缘的x所对应的数字是最小的,最大值在中间。
可以改变要写入的位置来精简代码。
|
|