一、题目
给定一个按非递减顺序排序的整数数组 A
,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
示例 1:
输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]
示例2:
输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]
提示:
1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A
已按非递减顺序排序。
二、思路
1. 列表生成式
(1)本题可以直接使用列表生成式,对列表中每一个元素进行平方操作,然后对结果使用sorted
进行排序即可。
(2)当然,也可以使用map
函数,对列表中的每一个数进行操作。然后再排序。
三、代码
1. 列表生成式
class Solution:
def sortedSquares(self, A: List[int]) -> List[int]:
return sorted([i**2 for i in A])
四、表现
method | 运行时间 | 表现 | 内存消耗 | 表现 |
---|---|---|---|---|
1. 列表生成式 | 256ms | 89.50% | 15.5MB | 5.22% |