LC 0977 [E] Squares of a Sorted Array - ALawliet/algorithms GitHub Wiki
class Solution:
def sortedSquares(self, A: List[int]) -> List[int]:
n = len(A)
squares = [0 for x in range(n)]
i = n - 1
l, r = 0, n-1
while l <= r:
left = A[l] ** 2
right = A[r] ** 2
if left > right:
squares[i] = left
l += 1
else:
squares[i] = right
r -= 1
i -= 1
return squares