classSolution:defsortedSquares(self, nums: List[int])-> List[int]:
left, right, k =0,len(nums)-1,-1
n =len(nums)
a =[0]*n
while left <= right:if nums[left]**2< nums[right]**2:
a[k]= nums[right]**2
right -=1elif nums[left]**2> nums[right]**2:
a[k]= nums[left]**2
left +=1else:
a[k]= nums[right]**2
right -=1
k -=1return a
Spiral Matrix
classSolution:defgenerateMatrix(self, n:int)-> List[List[int]]:
m =[[0]*n for _ inrange(n)]
l, r, b, t =0, n -1, n-1,0
num =1
target = n*n
while num <= target:for i inrange(l, r +1):# left to right
m[t][i]= num
num +=1
t +=1for i inrange(t, b +1):# top to bottom
m[i][r]= num
num +=1
r -=1for i inrange(r, l -1,-1):# right to left
m[b][i]= num
num +=1
b -=1for i inrange(b, t -1,-1):# bottom to top
m[i][l]= num
num +=1
l +=1return m