Description
https://leetcode.com/problems/sort-transformed-array/
Given a sorted integer array nums and three integers a, b and c, apply a quadratic function of the form f(x) = ax2 + bx + c to each element nums[i] in the array, and return the array in a sorted order.
Example 1:
Input: nums = [-4,-2,2,4], a = 1, b = 3, c = 5 Output: [3,9,15,33]
Example 2:
Input: nums = [-4,-2,2,4], a = -1, b = 3, c = 5 Output: [-23,-5,1,7]
Constraints:
1 <= nums.length <= 200-100 <= nums[i], a, b, c <= 100numsis sorted in ascending order.
Follow up: Could you solve it in O(n) time?
Explanation
Implement as the problem describes.
Python Solution
class Solution:
def sortTransformedArray(self, nums: List[int], a: int, b: int, c: int) -> List[int]:
results = []
for x in nums:
y = a * x**2 + b * x + c
results.append(y)
results = sorted(results)
return results
- Time Complexity: O(N).
- Space Complexity: O(N).