主要思路就是用双指针
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
l = len(nums)
nums1 = [None] * l
left,right = 0,l-1
t = l-1
while left <= right:
if abs(nums[left]) > abs(nums[right]):
nums1[t] = nums[left] ** 2
left +=1
else:
nums1[t] = nums[right] ** 2
right -= 1
t -=1
return nums1
貌似直接用sorted更快,玄学了。。。
class Solution:
def sortedSquares(self, A: List[int]) -> List[int]:
return sorted([ i**2 for i in A ])