题目:
给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。977. 有序数组的平方 - 力扣(LeetCode)
参考:
代码:
C++:
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
res = [0] * len(nums)
l, i, r = 0, len(nums)-1, len(nums)-1
while l<=r:
if nums[l]**2 < nums[r]**2:
res[i] = nums[r]**2
r -= 1
else:
res[i] = nums[l]**2
l += 1
i -= 1
return res
Python3:
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
res = [0] * len(nums)
l, i, r = 0, len(nums)-1, len(nums)-1
while l<=r:
if nums[l]**2 < nums[r]**2:
res[i] = nums[r]**2
r -= 1
else:
res[i] = nums[l]**2
l += 1
i -= 1
return res